2010-05-22 12 views
38

¿Cómo accedo al valor querystring en una vista?cómo acceder a querystring en ASP.Net MVC View?

+0

nunca oído hablar de cualquier persona que tenga la necesidad de hacer tal cosa en asp.net? mvc, probablemente quiera acceder a él un Action cuz que va a ser realmente fácil – Omu

+1

¿Está seguro de que necesita cadenas de consulta en MVC? Quizás dé un ejemplo de lo que quiere. –

Respuesta

54

No es un buen diseño para acceder a los parámetros de consulta en una vista. La vista debe usar el modelo provisto por el controlador. Entonces el controlador lee los parámetros de consulta y los pasa a la vista. Si desea ignorar esta regla siempre se puede hacer esto en su vista:

<%= Request["SomeParameter"] %> 

Pero yo le desalentar fuertemente de hacerlo.

0

Como Darin le sugirió que no debería usar Querystring en la vista. Pero una cosa es que puede acceder a la variable Request en su vista porque es Asp.Net y si accede a ella tiene todas las funciones y miembros que están presentes allí

5

Leería el valor de la cadena de consulta en su Controlador, y luego establecería ese valor para una propiedad en su ViewBag. La propiedad ViewBag se puede leer desde su vista.

por ejemplo:

ViewBag.MyQSVal = Request.QueryString["myValue"]; 

Luego, en su opinión:

@if(ViewBag.MyQSVal == "something"){ ... } 
13

a la vista, se puede acceder a él directamente. No es necesario escribir ningún código en Controller, aunque puedes.

Por ejemplo - Si su cadena de consulta ha parámetro denominado ID, algo así como la sintaxis de id = 1

Razor:

@Request.QueryString["id"] 
Cuestiones relacionadas