是否有办法获得与当前视图相关的动作链接。
例如,假设我有一个部分视图,其中包含一个名为_ArticlesList
的新闻文章的分页列表。我希望将其包含在Admin
和Index
视图中,这些视图由其相关控制器控制。 _ArticlesList
会生成包含routeValues
pageNumber
和pageSize
的网址,但您必须对控制器进行硬编码,不是吗?
我认为我想要做的只是覆盖routeValue
对象中的属性?
编辑:
我想我可以使用HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString()
但这看起来很糟糕
答案 0 :(得分:1)
如果您想在For EX中上传。索引文件然后写下来在你的cshtml中实现。
<div>
@Html.Partial("_ArticleList", Model)
</div>
你可以将它放在任何div标签中。
答案 1 :(得分:0)
我用它来达到我想要的目的
public static class UrlHelperExtensions
{
public static string RelativeAction(this UrlHelper url, object routeValues)
{
var routeDataValues = url.RequestContext.RouteData.Values;
var queryString = url.RequestContext.HttpContext.Request.QueryString;
foreach (string key in queryString.Keys)
{
routeDataValues[key] = queryString[key];
}
// Allow routeValue object to take precedence over queryString
foreach (var prop in new RouteValueDictionary(routeValues))
{
routeDataValues[prop.Key] = prop.Value;
}
return url.RouteUrl(routeDataValues);
}
}