[英]RouteLink in HtmlHelper?
如何在自定義HtmlHelper中組成RouteLink? 我知道如何在局部視圖中進行制作,但是我想使用RouteLink在自定義htmlhelper擴展方法中建立一個新鏈接。 如何做到這一點?
更新:我注意到HtmlHelper.GenerateRouteLink。 但是我需要輸入什么參數呢?
這是一個例子。 假設您想將鏈接包裝到具有給定類的div
標簽中,以使最終的html如下所示:
<div class="foo"><a href="/home/index">Some text</a></div>
您可以編寫以下擴展方法:
public static class HtmlExtensions
{
public static MvcHtmlString CustomRouteLink(
this HtmlHelper htmlHelper,
string className,
string linkText,
object routeValues
)
{
var div = new TagBuilder("div");
div.MergeAttribute("class", className);
div.InnerHtml = htmlHelper.RouteLink(linkText, routeValues).ToHtmlString();
return MvcHtmlString.Create(div.ToString());
}
}
可以這樣使用:
<%= Html.CustomRouteLink("foo", "Some text",
new { action = "index", controller = "home" }) %>
一旦獲得UrlHelper的實例,您就應該能夠在HtmlHelper方法中執行任何您想做的事情
UrlHelper url = new UrlHelper(helper.ViewContext.RequestContext);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.