@if (Url.Action() == Url.Action("index", "home")) {
<text>
//some js code conditionally rendered.
alert('test'); //Only should output, if current urls is home/index
</text>
}
我面对这个问题。对于默认路由,给定视图有多个URL。 例如,home / index在请求时匹配,
我尝试使用Url.Action()来检查相等性。但是检查的成功或失败取决于所要求的网址。即,在请求“\”(app root)时,请将evaluate评估为true。请求“home \ index”时,检查评估为false。 Url.Action()评估为“\”。
是否有一种更可靠的方法来检查当前视图网址与一些默认路由的mvc网址?
答案 0 :(得分:1)
您应该直接检查路由数据而不是网址,特别是&#34;控制器&#34;和&#34;行动&#34;值。
您可以使用ViewContext.RouteData.Values["controller"]
和ViewContext.RouteData.Values["action"]
。然后,您可以确保控制器是&#34; Home&#34;并且行动是&#34;索引&#34;。