Защо, когато използвам RegisterStartupScript или RegisterClientScriptBlock, моят C# код не работи?

Имам една aspx страница, където трябва да валидирам някои полета, направих това валидиране на C# код, но не работи.

Така че се опитах да поставя прост код само за да открия какъв е проблемът, така че разбрах, че няма значение кодът, ако стартирам 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