【问题标题】:After storing (many) elements in Panel, including multiple UpdatePanels, how do I access a Label inside UpdatePanel inside Panel?在 Panel 中存储(许多)元素后,包括多个 UpdatePanel,如何访问 Panel 内 UpdatePanel 内的标签?
【发布时间】:2017-04-16 18:56:52
【问题描述】:

如何访问下面的标签 {"lblStaticText_" + i.ToString()},该标签存储在 UpdatePanel 中,然后在 Panel 中,当按下按钮“btncomment_...”时,会触发 UpdatePanel , 添加评论?

(评论存储成功 - 只是无法在页面上更新标签。:-|

.aspx:

        <tr>
            <td style="text-align: center;">
                <table style="width: 100%;" border="0">
                    <tr>
                        <td style="width: 49%;"></td>
                        <td style="width: 2%;">
                            <asp:Panel runat="server" ID="divMain" />
                        </td>
                        <td style="width: 49%;"></td>
                    </tr>
                </table>
            </td>
        </tr>

.aspx.cs

这是一个位于 UpdatePanel 内的表:

            var up = new UpdatePanel();
            up.ID = "UpdatePanel_" + i.ToString();
            up.UpdateMode = UpdatePanelUpdateMode.Conditional;

            var lbl0 = new Label();
            lbl0.ID = "lblStaticText_" + i.ToString();
            lbl0.Text = "test";

            var lbl1 = new Label();
            lbl1.Text = "Add a comment!: ";

            var tb = new TextBox();
            tb.ID = "comment_" + i.ToString();
            tb.Attributes["placeholder"] = "Stuff";
            tb.TextMode = TextBoxMode.MultiLine;
            tb.Rows = 3;
            tb.Columns = 35;

            var btn = new Button();
            btn.ID = "btncomment_" + strpicture_name.Replace(".", "~") + "_" + i.ToString();
            btn.Text = "Submit";
            btn.Click += btn_All;

            var Table2 = new Table();
            Table2.ID = "ctbl_" + i.ToString();
            //Table2.Style.Add("width", "300px");
            Table2.Style.Add("width", "100%");
            Table2.BorderStyle = BorderStyle.Solid;
            Table2.BorderColor = System.Drawing.Color.Black;
            Table2.BorderWidth = 1;
            Table2.CellPadding = 0;
            Table2.CellSpacing = 3;

            //first row
            TableRow tRowc = new TableRow();
            Table2.Rows.Add(tRowc);

            TableCell tCellc = new TableCell();
            tCellc.Style.Add("vertical-align", "top");
            tCellc.Style.Add("padding", "10px");

            tCellc.Controls.Add(lbl0);

            tRowc.Cells.Add(tCellc);

            //second row
            tRowc = new TableRow();
            Table2.Rows.Add(tRowc);

            tCellc = new TableCell();
            tCellc.Style.Add("border", "1px solid black");
            tCellc.Style.Add("vertical-align", "top");
            tCellc.Style.Add("padding", "10px");
            tCellc.Style.Add("width", "300px");

            tCellc.Controls.Add(lbl1);

            tRowc.Cells.Add(tCellc);

            TableCell tCellc1 = new TableCell();
            tCellc1.Style.Add("border", "1px solid black");
            tCellc1.Style.Add("vertical-align", "top");
            tCellc1.Style.Add("padding", "10px");
            tCellc1.Style.Add("width", "300px");

            tCellc1.Controls.Add(tb);

            tRowc.Cells.Add(tCellc1);

            TableCell tCellc2 = new TableCell();
            tCellc2.Style.Add("border", "1px solid black");
            tCellc2.Style.Add("vertical-align", "top");
            tCellc2.Style.Add("padding", "10px");
            tCellc2.Style.Add("width", "300px");

            tCellc2.Controls.Add(btn);

            tRowc.Cells.Add(tCellc2);

            up.ContentTemplateContainer.Controls.Add(Table2);

            tCell.Controls.Add(up);

            tRow.Cells.Add(tCell);

            i++; --repeat--

【问题讨论】:

    标签: c# asp.net label updatepanel


    【解决方案1】:

    使用 findcontrol 函数在后面的代码中按名称获取子元素。多次使用它来查找嵌套控件,例如面板和标签。例如:

    Dim p as panel = page.findcontrol("panelname")
    Dim l as label = p.findcontrol("labelname")
    

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 1970-01-01
      • 2015-05-04
      • 2011-02-23
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多