how to access querystring in ASP.Net MVC View?

It is not a good design to access query parameters in a view. The view should use the model provided by the controller. So the controller reads query parameters and passes them to the view. If you want to ignore this rule you could always do this in your view:

<%= Request["SomeParameter"] %>

But I would strongly discourage you from doing so.


In View, you can access it directly. No need to write any code in Controller, though you can.

For example - If your querystring has parameter named id, something like ?id=1

Razor syntax:

@Request.QueryString["id"]

In .Net Core:

@Context.Request.Query["SomeParameter"]

I would read the querystring value in your Controller, and then set that value to a property in your ViewBag. The ViewBag property can then be read in from your view.

e.g:

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

Then, in your View:

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