Javascript dynamic en asp.net

bien. El problema al que me enfrento es que tengo mi propio control personalizado y realizo una consulta, obtengo loggings y agrego dinámicamente controles html a la página en function de los datos.

Ahora está el problema de agregar un javascript dynamic

Lo hago con la ayuda de controles literales.

<asp:Literal runat="server" ID="latEventToolTipJqueryScripts"></asp:Literal> 

Esto funciona como un encanto

 <script language="javascript" type="text/javascript"> // <![CDATA[ Sys.Application.add_load(WireEvents_<%=this.ID%>); // fix wiring for .NET ajax updatepanel $(WireEvents_<%=this.ID%>); // handle page load wiring function WireEvents_<%=this.ID%>() { <asp:Literal runat="server" ID="latEventToolTipJqueryScripts"></asp:Literal> } // ]]> </script> 

Agrego el text literal dinámicamente desde el código de atrás.

Sin embargo, al colocar el control en un panel de actualización, las devoluciones no actualizan el script.

EDITAR: El Sys.Application.add_load reconecta las funciones necesarias con el updatepanel. El problema es que el script que debe estar en lugar del literal no se actualiza cuando está en un panel de actualización.

He probado ClientScript.RegisterStartupScript pero tiene el mismo efecto que con el truco de control literal. ¿Alguna ayuda?

————————— SOLUCIONADO (tnx a Pranay Rana) —————- ——————

Me deshice del literal en el lado ascx. así como Sys.Application.add_load

ahora solo está en el código detrás. Lo que me estaba arrojando era lo de JQuery.

 this.strBuilderJS.Append( "<script language='javascript' type='text/javascript'>" + "$(WireEvents_" + this.ID + ");" + "function WireEvents_" + this.ID + "(){"+ " alert('stuff');"); this.strBuilderJS.Append( "}</script>"); 

y entonces

 ScriptManager.RegisterStartupScript(this, this.GetType(), "strBuilderJS", strBuilderJS.ToString(), false); 

  • ClientScript.RegisterStartupScript no funciona
  • ASP.NET/JavaScript - Problema de logging / networkingirección de scripts
  • 3 Solutions collect form web for “Javascript dynamic en asp.net”

    Hacer uso de ScriptManager.RegisterStartupScript() para registrar su script … puede resolver el problema …

    Compruebe que esto resuelva su problema: agregue JavaScript mediante progtwigción mediante RegisterStartupScript durante una devolución de datos asincrónica

    Yo recomendaría en un enfoque diferente. Para crear un javascript dynamic para cualquier idioma. Crearía una reference a un file dynamic. Para este ejemplo usaré .NET

    1. Crea una página test.aspx y agrega esta secuencia de commands:

      <script type="text/javscript" src="js/foo.aspx"></script>

    2. Asegúrate de que la respuesta de tu página tenga el tipo de contenido correcto. Por lo tanto, para esta instancia, agregaría esto al código de carga de la página para su foo.aspx:

      Response.ContentType = "application/javascript";

    3. En la vista foo.aspx html agregue su código de JavaScript.

      alert("<%=DateTime.Now%>");

    4. Explore su página test.aspx y debería ver una alerta con la date actual

    Deberías poder avanzar desde aquí. El objective es separar el file javascript de la página estática.

    Feliz Codificación.

    Cómo cambiar el text del control del button ASP en el clic de la label de anclaje

    Tenemos un button ASP a continuación y queremos cambiar el text cuando hacemos clic en la label de anclaje

     <asp:Button ID="btn_Add" runat="server" CssClass="button2" onclick="btn_Add_Click"/> 

    Tenemos siguientes dos tags de anclaje

     <a href = "javascript:void(0)" class="toplink" onclick = "changeText1();">Add New</a> <a href = "javascript:void(0)" class="toplink" onclick = "changeText2();">Add New</a> 

    Ahora agregamos el siguiente código en la label de secuencia de commands

     <script type="text/javascript" language="javascript"> function changeText1() { document.getElementById("lbl_header").innerText = 'Add New Teacher'; document.getElementById("btn_Add").value = 'Add'; } </script> <script type="text/javascript" language="javascript"> function changeText2() { document.getElementById("lbl_header").innerText = 'Delete Teacher'; document.getElementById("btn_Add").value = 'Delete'; } </script> 
    Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.