繁体   English   中英

如何在asp.net页中查找标签控件

[英]How to find label controls in an asp.net page

我在ID为ResultsPanel的面板中有一些标签控件。 要在页面上找到标签控件,我执行了以下操作:

for (int ctr = 0; ctr < lblString.Length - 1; ctr++)
{
    //string labelID = string.Format("lblResult{0}", ctr);
    int mylbl = ctr + 1;
    string lblResult = ((Label)ResultsPanel.FindControl("lblResult" + mylbl.ToString())).Text;
    lblResult = lblString[mylbl].ToString();
}
lblResult1.Text = lblString.ToString();

lblString是一个具有24个数字的stringBuilder对象。 想法是通过这种方式将stringbuilder对象中的每个数字映射到标签:

lblResult1.Text = lblString[mylbl].ToString(); 到第24个标签。 但是我似乎无法生成标签并将值映射到标签控件。

将行更改为

Label lblResult = ((Label)ResultsPanel.FindControl("lblResult" + mylbl.ToString()));
        lblResult.Text = lblString[mylbl].ToString();

您的问题和代码有点误导,但我还是会尽力而为。

您的代码:

for (int ctr = 0; ctr < lblString.Length - 1; ctr++)
{
    //string labelID = string.Format("lblResult{0}", ctr);
    int mylbl = ctr + 1;
    string lblResult = ((Label)ResultsPanel.FindControl("lblResult" + mylbl.ToString())).Text;
    lblResult = lblString[mylbl].ToString();
}

lblResult1.Text = lblString.ToString();

如果您具有按label1,label2,label3的顺序排列的标签,那么我将编写如下内容:

private void MapLabels()
{
    var labelsResult = string.Empty;
    var labelString = "123456789";
    for (int i = 0; i < labelString.Length; i++)
    {
        var control = this.FindControl("label" + labelString[i]);
        if(control != null)
        {
            labelsResult += ((Label)control).Text;
        }
    }

    labelResult1.Text = labelsResult;
}

让我知道您是否被卡住。

希望这会帮助你。 这样,您也可以获取标签的值。

public void GetControlsValuePopulated(Control control, Type controlType, Dictionary<string, string> dictControlPageValParam)
{
    try
    {

        if (control.HasControls())
        {
            GetControlsValuePopulated(control, controlType, dictControlPageValParam);
        }
        else
        {
            if (controlType == null || controlType.IsAssignableFrom(control.GetType()))
            {
                if (control.ID != null)
                {
                    bool FoundControl = dictControlPageValParam.ContainsKey(control.ID.Substring(3));
                    if (FoundControl)
                    {
                        switch (control.GetType().ToString())
                        {
                            case "System.Web.UI.WebControls.TextBox":
                                TextBox txt = (TextBox)control;
                                txt.Text = dictControlPageValParam[txt.ID.Substring(3)];
                                break;

                            case "System.Web.UI.WebControls.CheckBox":
                                CheckBox chk = (CheckBox)control;
                                if (dictControlPageValParam[chk.ID.Substring(3)].ToUpper() == "TRUE" || dictControlPageValParam[chk.ID.Substring(3)].ToUpper() == "T")
                                {
                                    chk.Checked = true;
                                }
                                else
                                {
                                    chk.Checked = false;
                                }
                                break;

                            case "System.Web.UI.WebControls.DropDownList":
                                DropDownList ddl = (DropDownList)control;
                                //ddl.SelectedValue = dictControlPageValParam[ddl.ID.Substring(3)];
                                break;

                            case "System.Web.UI.WebControls.RadioButtonList":
                                RadioButtonList rbl = (RadioButtonList)control;
                                rbl.SelectedValue = dictControlPageValParam[rbl.ID.Substring(3)];
                                break;

                            case "System.Web.UI.WebControls.HiddenField":
                                HiddenField hdn = (HiddenField)control;
                                hdn.Value = dictControlPageValParam[hdn.ID.Substring(3)];
                                break;
                        }
                    }
                }

            }
        }
    }
    catch (Exception)
    {
        throw;
    }
}

public void GetChildControlsId(Control control, Type controlType)
{
    try
    {

        if (control.HasControls())
        {
            GetChildControlsId(control, controlType);
        }
        else
        {
            if (controlType == null || controlType.IsAssignableFrom(control.GetType()))
            {
                ///checking if control already existing in the collection
                if (control.ID != null)
                {
                    bool FoundControl = controlHt.ContainsKey(control.ID);

                    if (!FoundControl)
                    {
                        switch (control.GetType().ToString())
                        {
                            case "System.Web.UI.WebControls.TextBox":
                                TextBox txt = (TextBox)control;
                                controlTypeName = txt.ID;
                                controlTypeName = controlTypeName.Substring(3);
                                controlTypeValue = txt.Text;
                                if (dictControlValParam.ContainsKey(controlTypeName) == false)
                                {
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                else
                                {
                                    dictControlValParam.Remove(controlTypeName);
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                break;


                            case "System.Web.UI.WebControls.CheckBox":
                                CheckBox chk = (CheckBox)control;
                                controlTypeName = chk.ID;
                                controlTypeName = controlTypeName.Substring(3);
                                controlTypeValue = chk.Checked.ToString();
                                if (dictControlValParam.ContainsKey(controlTypeName) == false)
                                {
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                else
                                {
                                    dictControlValParam.Remove(controlTypeName);
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                break;
                            case "System.Web.UI.WebControls.DropDownList":
                                DropDownList ddl = (DropDownList)control;
                                controlTypeName = ddl.ID;
                                controlTypeName = controlTypeName.Substring(3);
                                controlTypeValue = ddl.SelectedValue.ToString();
                                if (dictControlValParam.ContainsKey(controlTypeName) == false)
                                {
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                else
                                {
                                    dictControlValParam.Remove(controlTypeName);
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                break;
                            case "System.Web.UI.WebControls.RadioButtonList":
                                RadioButtonList rbl = (RadioButtonList)control;
                                controlTypeName = rbl.ID;
                                controlTypeName = controlTypeName.Substring(3);
                                controlTypeValue = rbl.SelectedValue.ToString();
                                if (dictControlValParam.ContainsKey(controlTypeName) == false)
                                {
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                else
                                {
                                    dictControlValParam.Remove(controlTypeName);
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                break;

                            case "System.Web.UI.WebControls.HiddenField":
                                HiddenField hdn = (HiddenField)control;
                                controlTypeName = hdn.ID;
                                controlTypeName = controlTypeName.Substring(3);
                                controlTypeValue = hdn.Value;
                                if (dictControlValParam.ContainsKey(controlTypeName) == false)
                                {
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                else
                                {
                                    dictControlValParam.Remove(controlTypeName);
                                    dictControlValParam.Add(controlTypeName, controlTypeValue);
                                }
                                break;
                        }

                    }

                }

            }
        }
    }
    catch (Exception)
    {
        throw;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM