Начать JavaScript со страницы asp.net - PullRequest
1 голос
/ 24 марта 2010

Привет, у меня есть пользовательский контроль, который включает в себя некоторый JavaScript, если я добавлю элемент управления на стандартную веб-страницу, я могу запустить JavaScript в теге body, например,

<body onLoad="Start()">

Проблема в том, что мне нужно добавить элемент управления на веб-страницу, которая находится внутри мастер-страницы, как мне запустить скрипт, если страница внутри мастер-страницы не имеет тега body.

Ответы [ 4 ]

2 голосов
/ 24 марта 2010

Вы можете зарегистрировать его, используя:

Page.ClientScript.RegisterStartupScript()

Для вашего случая это будет так:

Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", "Start()", true);
2 голосов
/ 24 марта 2010

Включите jQuery и поместите свой код инициализации в $(document).ready().

Если вы хотите строго использовать функциональные возможности .NET и ваша страница помечена как runat="server", вы также можете использовать Page.ClientScript.RegisterStartupScript().

1 голос
/ 24 марта 2010

Вы можете изменить тег body на сервер runat и присвоить ему идентификатор.

<body id="masterBody" runat="server">

Тогда при загрузке страницы:

public void Page_Load(Object sender, EventArgs e)
{ 
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("masterBody");
body.Attributes.Add("onload", "Start()");
}
0 голосов
/ 24 марта 2010

Попробуйте связать событие DOM document.ready, чтобы загрузить содержимое после завершения рендеринга документа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...