Tru*_*an1 65 c# asp.net asp.net-mvc razor asp.net-mvc-4
我想检查Razor标记中的URL参数.例如,我该怎么做这样的事情:
<div id="wrap" class="@{if (URL "IFRAME" PARAMETER EQUALS 1) iframe-page}">
Run Code Online (Sandbox Code Playgroud)
Mar*_*usz 100
<div id="wrap" class=' @(ViewContext.RouteData.Values["iframe"] == 1 ? /*do sth*/ : /*do sth else*/')> </div>
Run Code Online (Sandbox Code Playgroud)
编辑01-10-2014:
由于这个问题非常受欢迎,因此这个答案得到了改进.
上面的示例只会从中获取值RouteData,因此只能从某些已注册路由捕获的查询字符串中获取.要获得查询字符串值,您必须获得当前值HttpRequest.最快的方法是通过调用(如TruMan所指出的)`Request.Querystring',所以答案应该是:
<div id="wrap" class=' @(Request.QueryString["iframe"] == 1 ? /*do sth*/ : /*do sth else*/')> </div>
Run Code Online (Sandbox Code Playgroud)
您还可以检查RouteValues和QueryString MVC吗?
Flo*_*aal 22
如果你使用.net core 2.0,那将是:
Context.Request.Query["id"]
Run Code Online (Sandbox Code Playgroud)
样品用法:
<a href="@Url.Action("Query",new {parm1=Context.Request.Query["queryparm1"]})">GO</a>
Run Code Online (Sandbox Code Playgroud)
Alp*_*glu 11
适用于 ASP.NET Core 5.0
您可以通过注入IHttpContextAccessorRazor 页面来获取查询参数。并获取带有对象的任何参数的值Request.Query。
示例 URL => https://localhost:44326/?MyParam=MyValue
索引.cshtml:
@inject Microsoft.AspNetCore.Http.IHttpContextAccessor HttpContextAccessor
<span>@HttpContextAccessor.HttpContext.Request.Query["MyParam"][0]</span>
Run Code Online (Sandbox Code Playgroud)
请注意,可能有多个具有相同名称的查询参数,因此这些值存储在一个集合中。
没有一个答案对我有用,我得到“'HttpRequestBase'不包含'查询'的定义”,但这确实有效:
HttpContext.Current.Request.QueryString["index"]
Run Code Online (Sandbox Code Playgroud)
我认为更优雅的解决方案是使用控制器和ViewData字典:
//Controller:
public ActionResult Action(int IFRAME)
{
ViewData["IsIframe"] = IFRAME == 1;
return View();
}
//view
@{
string classToUse = (bool)ViewData["IsIframe"] ? "iframe-page" : "";
<div id="wrap" class='@classToUse'></div>
}
Run Code Online (Sandbox Code Playgroud)
有人建议将此作为答案发布,因为其他一些答案会给出错误,例如"当前上下文中不存在名称上下文".
只需使用以下作品:
Request.Query["queryparm1"]
Run Code Online (Sandbox Code Playgroud)
样品用法:
<a href="@Url.Action("Query",new {parm1=Request.Query["queryparm1"]})">GO</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111006 次 |
| 最近记录: |