Почему, когда я использую RegisterStartupScript или RegisterClientScriptBlock, мой код C# не работает?

У меня есть одна страница aspx, на которой мне нужно проверить некоторые поля, я сделал эту проверку в коде С#, но она не работала.

Поэтому я попытался добавить простой код только для того, чтобы выяснить, в чем проблема, поэтому я понял, что код не имеет значения, если я запускаю ScriptManager.RegisterStartupScript или ScriptManager.RegisterClientScriptBlock, мой код C # не работает.

Вот пример:

protected void btnBuscar_Click(object sender, EventArgs e){
   this.lblValidarEmpresa.Visible = false;
   ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "script", "AplicarMascara();", false);
}

Функция AplicarMascara() применяет маску данных к текстовому полю.

Вы знаете, как решить эту проблему? Или любой другой способ применить эту маску без использования ScriptManager?

Спасибо.


person Larissa Farias    schedule 18.11.2014    source источник
comment
Я забыл сказать, что использую UpdatePanel на контроллере.   -  person Larissa Farias    schedule 18.11.2014


Ответы (2)


На первый взгляд, попробуйте изменить последний параметр (addScriptTags) на true.

person j.v.    schedule 18.11.2014

Похоже, вы пытаетесь выполнить код javascript, когда кнопка нажата, и все усложняется с использованием панели обновлений. Рассматривали ли вы запуск «AplicarMascara» с помощью свойства onclientclick в btnBuscar? Вы не разместили свой код для определения кнопки, но вот пример того, как он должен выглядеть:

<asp:Button id="btnBuscar" OnClientClick="AplicarMascara" runat="server" />
person mga911    schedule 19.11.2014