我正在尝试从后面的代码中添加一个按钮到网页。我的主页上有一个空的div,可以在需要时打开和关闭。但是,我希望动态创建的内容可以根据条件进行动态创建。
我已经意识到在我的ASP控件中我使用/(反斜杠)取消了我的HTML。我现在遇到的问题是了解如何通过代码解决这个问题,有没有办法将ASP控件添加到网页?我对InnerHtml之外的建议持开放态度。
我正在创建我的按钮(在我的代码背后):
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。然而,这个解决方案并没有教给我任何东西。
我在这里提出问题犹豫不决,因为我知道有很多问题已被提出,而且我确信这个问题已经存在,但我没有找到解决方案。非常感谢任何帮助。
谢谢。
答案 0 :(得分:3)
我已经意识到在我的ASP控件中我使用/(反斜杠) 取消我的HTML。我现在面临的问题是如何理解 用代码解决这个问题,有没有办法将ASP控件添加到 网页?我对InnerHtml之外的建议持开放态度。
您无法像文字字符串一样添加ASP.Net服务器控件。
相反,您希望将动态服务器控件添加到以下方法 -
<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.
}