0

我创建了母版页并从内容页加载了一些服务器控件到母版页。

 Control ctrl = Page.ParseControl(result);
 ContentPlaceHolder cph = (ContentPlaceHolder)this.Page.Master.FindControl("ContentPlaceHolder1");
            cph.Controls.Add(ctrl);

现在我需要访问“内容中的控件”页面。但是在解析控件后,指定的 id 会发生变化。它看起来像下面。

 <input type="submit" name="ctl00$ContentPlaceHolder1$reset" value="reset" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$reset&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" id="ctl00_ContentPlaceHolder1_reset" />

那么如何在内容页面中访问这些控件呢?

4

1 回答 1

0

您还必须在将控件添加到母版页之前提供 id,以便以后找到控件

Control ctrl = Page.ParseControl(result);
ctrl.ID="ContentPlaceHolder1_reset";
ContentPlaceHolder cph = (ContentPlaceHolder)this.Page.Master.FindControl("ContentPlaceHolder1");
cph.Controls.Add(ctrl);

希望这对你有用。

更新:

如果要添加 TextBox 列表,则可以向 TextBox 提供 id,如下所示

for (int i = 1; i < 11; i++)
    {
        TextBox t1 = new TextBox();
        t1.ID = "TextBox" + i;
        ContentPlaceHolder cph = (ContentPlaceHolder)this.Page.Master.FindControl("ContentPlaceHolder1");
        cph.Controls.Add(t1);
    }

在这里,我将 10 个文本框添加到您的母版页。

于 2013-11-04T08:48:32.233 回答