我可以在加载事件中从C#中的div标签dynamic添加HTML吗?

请注意,我使用的是母版页,但是我可以在页面中find一个div,并在其中放置一些html? 谢谢。

你可以添加一个div runat =“server”到页面:

<div runat="server" id="myDiv"> </div> 

然后从代码隐藏中设置其InnerHtml属性:

 myDiv.InnerHtml = "your html here"; 

如果你想在客户端修改DIV的内容,那么你可以使用类似下面的javascript代码:

 <script type="text/javascript"> Sys.Application.add_load(MyLoad); function MyLoad(sender) { $get('<%= div.ClientID %>').innerHTML += " - text added on client"; } </script> 

使用asp:Panel 。 它翻译成一个div。

记住使用

 myDiv.InnerHtml = "something"; 

将会replacemyDIV中的所有HTML元素。 你需要附加文字来避免这一点。在这可能有所帮助

 myDiv.InnerHtml = "something" + myDiv.InnerText; 

myDiv中的任何html控件,但不是ASP html控件(因为它们还没有呈现)。

您可以通过这种方式在主页面内引用控件:

 void Page_Load() { ContentPlaceHolder cph; Literal lit; cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1"); if (cph != null) { lit = (Literal) cph.FindControl("Literal1"); if (lit != null) { lit.Text = "Some <b>HTML</b>"; } } } 

在这个例子中,你必须在你的ContentPlaceholder中放置一个Literal控件。

你想把代码放在后面的主页面代码中,将HTML插入到使用该主页面的页面的内容中?

我不会通过FindControlsearch控件,因为这是一个脆弱的解决scheme,如果控件的名称改变,可能很容易被破坏。

你最好的select是在母版页上声明一个任何子页面可以处理的事件。 该事件可以通过HTML作为EventArg。