net mvc from ejemplo code behind asp javascript asp.net scriptmanager

javascript - from - scriptmanager registerstartupscript in mvc controller



El código ScriptManager.RegisterStartupScript no funciona, ¿por qué? (4)

Debe colocar el ID del panel de actualización en el primer argumento si el control que causa la secuencia de comandos se encuentra dentro del panel de actualización;

ScriptManager.RegisterStartupScript(UpdatePanel3, this.GetType(), UpdatePanel3.UniqueID, "showError();", true);

He utilizado un código como este en el pasado para mostrar un mensaje de alerta en mi página web asp.net Ahora no está funcionando. No puedo entender por qué.

ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID, "alert(''This pops up'')", true);

¿Algunas ideas?


La parte superior de mi cabeza:

  • Use GetType() lugar de typeof(Page) para vincular el script a su clase de página real en lugar de a la clase base,
  • Pase una constante de clave en lugar de Page.UniqueID , que no es tan significativo ya que se supone que debe ser utilizado por controles con nombre,
  • Termine su declaración de Javascript con un punto y coma,
  • Registre el script durante la fase PreRender :

protected void Page_PreRender(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, GetType(), "YourUniqueScriptKey", "alert(''This pops up'');", true); }


Me encontré con un problema similar. Sin embargo, este problema se debió a la forma en que diseñé las páginas para traer las solicitudes. Coloqué todos los archivos .js como lo último que se aplicó a la página, por lo tanto, están al final de mi documento. Los archivos .js tienen todas mis funciones incluyen. El administrador de scripts parece que para poder llamar a esta función necesita el archivo js ya presente con la función que se está llamando en el momento de la carga. Espero que esto ayude a alguien más.


Prueba este código ...

ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "script", "alert(''Hi'');", true);

Donde UpdatePanel1 es el id de Updatepanel en su página