我正在尝试使用以下技术将一些javascript放入我的母版页的body标签中:
<body id="pgBody" runat="server">
//Property to get the body tage in MasterPage.cs
public HtmlGenericControl BodyTag
{
get
{
return this.pgBody;
}
}
//In my content page PageLoad()
MasterPage mstrPg = this.Master as MasterPage;
if (mstrPg != null)
{
mstrPg.BodyTag.Attributes.Add("onload", "LoadMap()");
mstrPg.BodyTag.Attributes.Add("onunload", "UnloadMap()");
}
在本地计算机上运行时(使用Visual Studio开发服务器),一切都按预期工作,但是当我将其部署到生产IIS 6服务器时,运行页面时,属性不会添加到正文标记中。 / p>
关于导致这种情况的任何想法?
答案 0 :(得分:0)
不知道你的代码无法正常工作的原因。
我建议使用window.onload
事件代替body.onload
。
试试以下内容:
在Masterpage标记文件中,将其放在关闭正文标记
之前<asp:PlaceHolder runat="server" ID="ScriptsPlaceHolder" Visible="false">
<script type="text/javascript">
window.onload = function () { LoadMap(); };
window.onunload = function () { UnloadMap(); };
</script>
</asp:PlaceHolder>
母版页代码隐藏文件
public PlaceHolder ScriptsPlaceHolderControl
{
get { return this.ScriptsPlaceHolder; }
}
在您的内容页面
SiteMaster mstrPg = this.Master as SiteMaster;
if (mstrPg != null)
{
mstrPg.ScriptsPlaceHolderControl.Visible = true;
}