Pregunta

Tengo un código que es como la siguiente:

<head runat="server">
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = ''; // ASP.NET value 1
     params.param5 = ''; // ASP.NET value 2
     function.call(params);
  </script>
</head>

¿Cómo uso ASP.NET para poblar y param4 param5? He leído acerca de las páginas maestras y marcadores de posición de contenido, pero ¿hay una manera que solo puedo hacer algo como params.param4 = '<%= var1 %>'; o params.param4 = '<asp:var />';?

Editar

Gracias a todos los que respondieron tan rápidamente. Debo haber tenido un error de análisis o algo que me hizo pensar que esto no era posible. Sólo para que quede claro lo que hice para solucionar mi problema:

página ASPX:

<head>
  <script type="text/javascript">
     var params = {};
     params.param1 = 'value1';
     params.param2 = 'value2';
     params.param3 = 'value3';
     params.param4 = '<%= var1 %>';
     params.param5 = '<%= var2 %>';
     function.call(params);
  </script>
</head>

CS de código subyacente:

public string var1 { get; set; }

public string var2 { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
   // setup code goes here
   var1 = 'param4';
   var2 = 'param5';
}

Nota:. runat="server" No es necesario en la cabeza, y con tal de que las variables son públicos en el código subyacente, se puede acceder a través de <%= %> en el <head>

¿Fue útil?

Solución

tipo de responde a su propia pregunta. Se puede declarar sus variables en el código subyacente y luego utilizarlos en su código con las etiquetas <%= %>, o puede utilizar el RegisterClientScriptBlock método para agregar el código JavaScript a su página sobre la marcha.

Otros consejos

que podría hacer exactamente que si no eran runat = "servidor"

alternativamente, usted podría hacer que params del lado del servidor array

Page.ClientScript.RegisterArrayDeclaration("params", "'value1','value2','value3','" + value4 + "','" + value5 + "'");

Si su son sus valores declarado variables públicas en la parte Cs de la clase se puede hacer exactamente lo que usted describe y leerlos en las etiquetas del servidor.

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