Атрибут.Добавить на MasterPage <body>тег - PullRequest
2 голосов
/ 30 июля 2010

Я пытаюсь поместить некоторый 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 Development Server), но при развертывании его на производственном сервере IIS 6 атрибуты не добавляются в тег body при запуске страницы.

Есть идеи о том, что может вызвать это?

1 Ответ

0 голосов
/ 15 ноября 2010

Не знаю точно, почему ваш код не работает.и я бы рекомендовал использовать событие window.onload вместо body.onload.

просто попробуйте следующее:

В файле разметки главной страницы поместите это перед закрывающим тегом тела

<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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...