web-dev-qa-db-fra.com

comment accéder à querystring dans ASP.Net MVC View?

Comment accéder à la valeur querystring dans une vue?

44
Fraz Sundal

L'accès aux paramètres de requête dans une vue n'est pas une bonne conception. La vue doit utiliser le modèle fourni par le contrôleur. Ainsi, le contrôleur lit les paramètres de requête et les transmet à la vue. Si vous voulez ignorer cette règle, vous pouvez toujours le faire à votre avis:

<%= Request["SomeParameter"] %>

Mais je vous déconseillerais fortement de le faire.

59
Darin Dimitrov

Dans View, vous pouvez y accéder directement. Pas besoin d'écrire de code dans Controller, bien que vous le puissiez.

Par exemple - Si votre chaîne de requête a un paramètre nommé id, quelque chose comme? Id = 1

Syntaxe de rasoir:

@Request.QueryString["id"]
20
Chirag

Je voudrais lire la valeur de chaîne de requête dans votre contrôleur, puis définir cette valeur à une propriété dans votre ViewBag. La propriété ViewBag peut alors être lue à partir de votre vue.

par exemple:

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

Ensuite, dans votre vue:

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

Comme Darin l'a suggéré, vous ne devriez pas utiliser Querystring en vue. Mais une chose est que vous pouvez accéder à la variable de requête dans votre vue parce que son Asp.Net et si vous y accédez, vous avez toutes les fonctions et membres qui y sont présents

0
alex

Pour effectuer cette mauvaise pratique dans .Net Core :

@Context.Request.Query["SomeParameter"]
0
Shadi Namrouti