gpt4 book ai didi

c# - Attribute.Add on MasterPage 标签

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:43 27 4
gpt4 key购买 nike

我正在尝试使用以下技术将一些 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 服务器时,运行页面时属性不会添加到 body 标记中。

关于什么会导致这种情况有什么想法吗?

最佳答案

不知道您的代码为何无法正常工作。还有一件事我建议使用 window.onload 事件而不是 body.onload

只需尝试以下操作:

在 Masterpage 标记文件中,将其放在关闭 body 标记之前

<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;
}

关于c# - Attribute.Add on MasterPage <body> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3372223/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com