我可以在加载事件中从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。