Как получить доступ к строке запроса в ASP.Net MVC View? - PullRequest
44 голосов
/ 22 мая 2010

Как получить доступ к значению querystring в представлении?

Ответы [ 5 ]

59 голосов
/ 22 мая 2010

Это плохой дизайн для доступа к параметрам запроса в представлении. Представление должно использовать модель, предоставленную контроллером. Таким образом, контроллер считывает параметры запроса и передает их в представление. Если вы хотите игнорировать это правило, вы всегда можете сделать это по вашему мнению:

<%= Request["SomeParameter"] %>

Но я бы настоятельно рекомендовал вам не делать этого.

20 голосов
/ 27 марта 2015

В View вы можете получить к нему доступ напрямую.Нет необходимости писать какой-либо код в Controller, хотя вы можете.

Например - Если ваша строка запроса имеет параметр с именем id, что-то вроде? Id = 1

Синтаксис Razor:

@Request.QueryString["id"]
7 голосов
/ 06 ноября 2014

Я бы прочитал значение строки запроса в вашем контроллере, а затем установил это значение для свойства в вашем ViewBag. Свойство ViewBag можно затем прочитать из вашего представления.

например:

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

Тогда в вашем представлении:

@if(ViewBag.MyQSVal == "something"){ ... }
0 голосов
/ 14 января 2019

Для выполнения этой плохой практики в .Net Core :

@Context.Request.Query["SomeParameter"]
0 голосов
/ 02 февраля 2011

Как предположил Дарин, вы не должны использовать Querystring. Но с одной стороны, вы можете получить доступ к переменной Request в вашем представлении, потому что это Asp.Net, и если вы обращаетесь к ней, у вас есть все функции и члены, которые там присутствуют

...