#c# #javascript #asp.net
#c# #javascript #asp.net
Вопрос:
У меня возникли некоторые проблемы с javascripts, которые не работают. Мой asp.net 3.5 приложение webforms имеет страницу, содержащую несколько пользовательских элементов управления (ascx), которые содержат javascript. Не все из них работают, как лучше всего использовать javascript? в разделе head родительской страницы или в пользовательском элементе управления? также мне всегда нужно определять это так? Я не использую здесь какой-либо фреймворк js:
window.onload = function(){
//initialize js scripts
}
Комментарии:
1. Когда вы это делаете
window.onload = function()...
, каждый раз вы переопределяетеonload
обработчик. Если вы делаете это, вы захотите объявить его только один раз или найти способ сохранить функции, которые затем вызываются вwindow.onload
обработчике.
Ответ №1:
Я бы использовал RegisterStartupScript
в элементах управления и позволил ASP.NET работает для вас. Кроме того, это предотвратит множество проблем в случае, если у вас есть несколько экземпляров одного и того же элемента управления на странице:
String csname1 = "PopupScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
cs.RegisterStartupScript(cstype, csname1, "alert('Hello World!')", true);
}
Комментарии:
1. я только что попробовал, но он не отображается? кстати, у меня включен js
2. Вам придется опубликовать некоторый код, чтобы кто-нибудь мог помочь вам в дальнейшем. Мы не знаем, что вы делаете или каковы ваши ошибки.
3. сайт слишком большой: ( какой хороший инструмент для отладки ошибок javascript?
4. Используйте firebug. Вкладка консоль сообщит вам, где происходит сбой. getfirebug.com