【问题标题】:How to add a control from code-behind in a DIV如何从 DIV 中的代码隐藏添加控件
【发布时间】:2014-09-03 21:26:06
【问题描述】:

我的 MasterPage 中有以下代码:

<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="upTaskStatus" ClientIDMode="Static">
    <ContentTemplate>
        <asp:Panel ID="Panel101" runat="server" CssClass="navInnerDiv" Width="100px" ClientIDMode="Static">
            <asp:Panel ID="Panel102" runat="server" CssClass="navInnerDivContents">
                <asp:Panel ID="Panel103" runat="server" CssClass="navInnerDivContentsTop">
                    <asp:Label ID="lblTempHolder" runat="server" Text="" ClientIDMode="Static"></asp:Label>
                </asp:Panel>
                <asp:Panel ID="Panel106" runat="server" CssClass="navInnerDivContentsBottom">
                    Task Status
                </asp:Panel>
            </asp:Panel>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

我正在尝试从 Panel103 内部的代码中添加 DIV{panel}。

我在我的内容页面中添加了以下内容:

strCO = @"<asp:Panel ID='Panel100' runat='server' CssClass='navInnerDivContentsTopSubTwo'>
                        <asp:ImageButton ID='ibCheckOut' ImageUrl='~/theImages/CheckOut.png\' runat='server' CssClass='navImages' OnClick='btnComplete_Click' />
                        <br />
                        <asp:LinkButton ID='lbCheckOut' runat='server' Text='Checkout' ClientIDMode='Static' OnClick='btnComplete_Click' CssClass='linkOff' />
                    </asp:Panel>";

System.Web.UI.WebControls.Label pnlTaskS = (System.Web.UI.WebControls.Label)Master.FindControl("lblTempHolder");
            pnlTaskS.Text = strCO;

            System.Web.UI.UpdatePanel upT = (System.Web.UI.UpdatePanel)Master.FindControl("upTaskStatus");
            upT.Update();

当我检查页面源时,我可以看到 strCO 生成,但 Image 和 LinkBut​​ton 都显示在前端。

如何修改我的代码以实现从代码隐藏添加 DIV{panel}?

【问题讨论】:

  • 您为什么不使用通常的 ASP.NET 标记来添加此面板,就像您的 MasterPage 标记一样?
  • 在布局中,我在父面板中设置了宽度

标签: c# css asp.net updatepanel panel


【解决方案1】:

在每个回发中创建控件并将其添加到 Panel103:

public void Page_Load(object sender, EventArgs e)
{
   var pnl = new Panel { ID = "Panel100" };
   pnl.Controls.Add(new ImageButton());
   Panel103.Controls.Add(pnl);
}

【讨论】:

    猜你喜欢
    • 2014-02-15
    • 2013-02-19
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2013-12-01
    • 1970-01-01
    相关资源
    最近更新 更多