我的 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 和 LinkButton 都没有显示给前端。
如何修改我的代码以实现从代码隐藏添加 DIV{panel}?
最佳答案
在每个回发中创建控件并将其添加到 Panel103:
public void Page_Load(object sender, EventArgs e)
{
var pnl = new Panel { ID = "Panel100" };
pnl.Controls.Add(new ImageButton());
Panel103.Controls.Add(pnl);
}
关于c# - 如何从 DIV 中的代码隐藏添加控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25653936/