Pregunta

Tengo un público en mi código detrás de la página que toma una cadena. Me gustaría llamar a este método de Javascript.

El parámetro que quiero transmitir es variable que cambia de un DDL.

Así que tengo algo como esto:

 var value = document.getElementById('ddlContact').value;
        <%=PopulateContactFields("value") %>

Esta pasa por la palabra 'valor' y no los datos de valor.

No puedo averiguar la sintaxis correcta para transmitir los datos de valor.

Gracias

¿Fue útil?

Solución

Como han mencionado otros, tratando de acceder a código C # directamente desde detrás de JavaScript es imposible.

Sin embargo, puede comunicarse con él indirectamente .

Creo que su mejor tiro es utilizar una combinación de jQuery y el atributo [WebMethod].

función javascript usando jQuery para hacer una llamada AJAX:

function Search() {
    var search = $('#<%= ddlContact.ClientId %>').val();
    var options = {
        type: "POST",
        url: "Default.aspx/Hello",
        data: "{'name' :'" + search + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            alert(msg);
        }
    };
    $.ajax(options);
}

Código atrás:

public partial class _Default : System.Web.UI.Page
{
    [WebMethod]
    public void Hello(string name)
    {
      return "Hi " + name;
    }
}

Otros consejos

El código está mostrando se ejecuta en el servidor cuando se genera el código HTML. En otras palabras, se ejecuta antes de que llegue el navegador y el usuario tenido la oportunidad de hacer cualquier cosa con la página.

No importa lo que la sintaxis que usaría aquí la información que desea no se puede acceder en este momento -. Que todavía no existe

El enfoque aquí es enviado esta información al servidor, ya sea mediante la publicación de la página o el uso de AJAX y luego, en la parte final de ciclo de petición / respuesta de hacer su procesamiento

Otra opción sería hacer el lado del cliente de procesamiento usando Javascript

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top