c# – 在InnerHTML中从代码隐藏页面添加ASP控件

我正在尝试从后面的代码中添加一个按钮到网页.我的主页上有一个空的div,可以在需要时打开和关闭.但是,我希望动态创建的内容作为div内容可以根据条件而改变.

我已经意识到在我的ASP控件中我使用/(反斜杠)取消了我的HTML.我现在遇到的问题是了解如何通过代码解决这个问题,有没有办法将ASP控件添加到网页?我对InnerHtml之外的建议持开放态度.

我正在创建我的Button(在我的Code Behind中):

      string buttonout = string.Format("<asp:Button ID=\"helpButton_0\" CommandArgument=\"0\" CssClass=\"HelpButton\" runat=\"server\" Text=\"?\"/>");
      innercontent[0] = string.Format("<table><tr><td>Lead Passenger Information</td></tr><tr><td>Here by deafaul we used your detaisl from your profile, if you're not the lead passenger (As in you're booking for someone else) then please change details.</td></tr><tr><td>{0}</td></tr></table>"+ buttonout);

如上所述,我认为这不起作用的原因是因为InnerHtml讨厌反斜杠.

我确实有解决方案;这是通过向页面添加更多div.

        <div id="HelpBoxDiv" runat="server" Visible="false">
            <div id="HelpBoxDiv_Top" runat="server" Visible="true">
            </div>
            <div id="HelpBoxDiv_Bottom" runat="server" Visible="true">
                <asp:Button ID="button_HelpBox_false" runat="server" />
            </div>
        </div>

然后我会将我的Innerhtml添加到_Top Div,而不是我现在正在做的HelpBoxDiv.然而,这个解决方案并没有教我什么.

我在这里提出问题犹豫不决,因为我知道有很多问题已被提出,我相信这个问题已经存在,但我没有找到解决方案.任何帮助深表感谢.

谢谢.

解决方法:

I have realised that within my ASP Control I use a / (backslash) which
cancels out my HTML. The problem I now have is understanding how I can
get around this with code, is there a way to add ASP Controls to the
web page? I am open to suggestions outside of the InnerHtml.

您不能像文字字符串一样添加ASP.Net服务器控件.

相反,您希望将动态服务器控件添加到以下方法 –

ASPX

<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>

代码背后

protected void Page_Init(object sender, EventArgs e)
{
    var button = new Button
    {
        ID = "helpButton_0",
        CommandArgument = "0",
        CssClass = "HelpButton",
        Text = "?"
    };
    button.Command += button_Command;
    PlaceHolder1.Controls.Add(button);
}

private void button_Command(object sender, CommandEventArgs e)
{
    // Handle dynamic button's command event.
}
上一篇:个人作业-week2:关于微软必应词典的案例分析


下一篇:php – Zend_Auth:为什么验证对象名为adapter而不是策略?