1
對於我正在處理的應用程序,我需要將圖像標題跨越多行。玩了我能得到這個標記預期的效果:獲取Html.ActionLink以生成多行鏈接
<a href="http://www.stackoverflow.com">Stack<br>Overflow</a>
渲染這對我來說:
但我一直無法找到生成的鏈接描述的正確方法用於呈現這種輸出的HTML.ActionLink。
對於我正在處理的應用程序,我需要將圖像標題跨越多行。玩了我能得到這個標記預期的效果:獲取Html.ActionLink以生成多行鏈接
<a href="http://www.stackoverflow.com">Stack<br>Overflow</a>
渲染這對我來說:
但我一直無法找到生成的鏈接描述的正確方法用於呈現這種輸出的HTML.ActionLink。
如果網址不是您網站的一部分,使用HTML幫助程序生成此鏈接不會帶來太多價值。相反,只需按原樣編寫即可。如果這是你的網站的一部分,你可以使用路由到達你可以寫一個自定義的HTML幫助不HTML默認編碼鏈接文本地址:
public static class HtmlExtensions
{
public static MvcHtmlString MyActonLink(
this HtmlHelper html,
string linkText,
string action,
string controller,
object routeValues,
object htmlAttributes
)
{
var urlHelper = new UrlHelper(html.ViewContext.RequestContext);
var url = urlHelper.Action(action, controller, routeValues);
var anchor = new TagBuilder("a");
anchor.InnerHtml = linkText;
anchor.Attributes["href"] = url;
anchor.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return MvcHtmlString.Create(anchor.ToString());
}
}
,並在您的視圖:
@Html.MyActonLink(
"Stack<br/>Overflow", // linkText
"MyAction", // actionName
"MyController", // controllerName
new { id = "123" }, // routeValues
new { @class = "foo" } // htmlAttributes
)
這個解決方案非常好。謝謝 – MikeJ