2016-06-08 26 views
1

是否有一種方法可以獲得與當前視圖相關的操作鏈接。ASP.net部分視圖相對操作鏈接

例如,可以說我有一個局部視圖,它包含一個名爲_ArticlesList的新聞報道的分頁列表。我想將其包含在由其相關控制器控制的AdminIndex視圖中。 _ArticlesList生成的網址有routeValuespageNumberpageSize,但是您必須對控制器進行硬編碼,不是嗎?

我想我想要做的只是覆蓋routeValue對象的屬性?

編輯: 我想我可以用HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString() 但如果你想在上傳對於EX看起來很糟糕

回答

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); 
    } 
} 
1

。索引文件然後編寫以下在您的cshtml中實現。

<div> 
    @Html.Partial("_ArticleList", Model) 
</div> 

你可以把它放在任何div標籤中。

+0

那不是我問。我想你應該使用'Html.RenderPartial',除非有特定的理由說明你爲什麼需要返回字符串。 – Mardoxx