Получение javascript на стороне сервера на стороне клиента

1

Я создал собственный элемент управления с помощью asp.net 2.0. Элемент управления содержит текстовое поле txtDate. Я также создал файл javascript DateMask.js, который содержит функцию maskDate(). Я прикреплял maskDate() с текстовым полем, используя -

txtDate.Attributes.Add( "OnKeyPress", "maskDate()" );

Я также зарегистрировал script с помощью ClientScript.RegisterStartupScript.

Когда я запускаю страницу aspx, содержащую мой пользовательский элемент управления, она генерирует ошибку script, показывающую, что maskDate() - undefined.

Может ли кто-нибудь сказать мне, в чем проблема?

Спасибо за сотрудничество.

  • 0
    Вы не упомянули, как вы используете DateMask.js .
  • 0
    Где вы определили функцию maskDate ()?
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

Один из способов сделать это - разместить над вашим текстовым полем литеральный элемент управления и присвоить ему script в коде:

literal1.Text = "<script>function maskDate() {...}</script>";

Преимущество этого заключается в том, что вам не нужно будет ссылаться на файл script с некоторыми сложными относительными путями в зависимости от того, где используется ваш пользовательский контроль.

  • 0
    Спасибо, Джош! Это хорошая идея.
1

Убедитесь, что вы не забыли <form runat="server" ID="Form1"></form> в конце тега <head>!

Как вы можете прочитать в Использование JavaScript Наряду с ASP.NET 2.0 в разделе "Разница между страницами .ClientScript.RegisterStartupScript и page.ClientScript.RegisterClientScriptBlock" они полагаются на расположение тега формы.

Мы показали два разных метода для размещения функций JavaScript на Страница ASP.NET - так что разница? Основное различие что метод RegisterStartupScript помещает JavaScript внизу страницу ASP.NET прямо перед закрывающий элемент. Метод RegisterClientScriptBlock размещает JavaScript сразу после открывающий элемент в стр. Итак, какая разница делать? Это может сделать немного разница, как мы увидим.

  • 0
    Я знаю, что ASP.NET может быть странным - но действительно ли это решило бы проблему форм, не допускаемых внутри элемента head?
  • 0
    Форма также может быть в теле - не обязательно в голове ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню