gpt4 book ai didi

html - 获取 Html.ActionLink 生成多行链接

转载 作者:行者123 更新时间:2023-11-27 22:46:41 26 4
gpt4 key购买 nike

对于我正在处理的应用程序,我需要让图像标题跨越多行。玩弄我能够从这个标记中获得预期的效果:

<a href="http://www.stackoverflow.com">Stack<br>Overflow</a>

为我呈现这个:

Stack
Overflow

但是我一直无法找到正确的方法来为 HTML.ActionLink 生成一个链接描述来呈现这种输出。

最佳答案

如果 url 不是您网站的一部分,则使用 HTML 帮助程序生成此链接不会带来太多值(value)。而是简单地按原样编写。如果它是您网站的一部分并且您可以使用路由到达地址,您可以编写一个自定义 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
)

关于html - 获取 Html.ActionLink 生成多行链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com