我正在尝试从后面的代码中添加一个按钮到网页.我的主页上有一个空的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.
}