请注意,我正在使用母版页,但是我可以在页面中找到div并在那里放一些html吗?谢谢。
答案 0 :(得分:80)
您可以在页面中添加一个带有runat =“server”的div:
<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>
答案 1 :(得分:15)
使用asp:Panel
。它转化为div。
答案 2 :(得分:5)
请记住使用
myDiv.InnerHtml = "something";
将替换myDIV中的所有HTML元素。你需要附加文字以避免这种情况。这可能会有所帮助
myDiv.InnerHtml = "something" + myDiv.InnerText;
myDiv中的任何html控件,但不是ASP html控件(因为它们尚未呈现)。
答案 3 :(得分:3)
您可以通过以下方式引用母版页内的控件:
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控件。
答案 4 :(得分:1)
您想将代码放在主页面代码后面,将HTML插入到使用该母版页的页面内容中吗?
我不会通过FindControl搜索控件,因为这是一个脆弱的解决方案,如果控件名称发生变化,很容易被破坏。
最好的办法是在母版页中声明任何子页面可以处理的事件。该事件可以将HTML作为EventArg传递。