【问题标题】:Helper for tag html a标签 html a 的助手
【发布时间】:2011-07-21 00:15:20
【问题描述】:

asp.net MVC3 中是否有任何助手

<a href="www.google.com">Go to Google </a>

?

不是为了一个动作,而是为了一个静态链接

【问题讨论】:

    标签: asp.net html asp.net-mvc-3 tags helpers


    【解决方案1】:

    我不相信有,但我不确定你为什么想要一个。实际上,您最终会得到更多代码:

    <a href="http://www.google.com/">Go to Google</a>
    
    <%: Html.Link("http://www.google.com/", "Go to Google") %>
    
    @Html.Link("http://www.google.com/", "Go to Google")
    

    更新:如果你想像上面那样创建一个 Link() 帮助器,你可以使用扩展方法:

     public static class LinkExtensions
     {
        public static MvcHtmlString Link(this HtmlHelper helper, string href, string text)
        {
            var builder = new TagBuilder("a");
            builder.MergeAttribute("href", href);
            builder.SetInnerText(text);
    
            return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal));
        }
     }
    

    【讨论】:

    • 类 'html' 中没有方法 'Link'。我想更标准,毕竟文本框,动作,都有保管箱使用助手。所以它缺少(静态链接)
    • 我必须将第一个参数声明为this HtmlHelper&lt;dynamic&gt;,但它可以正常工作。
    • 在这种情况下,如果您将方法设为通用,您将拥有更大的灵活性:Link&lt;T&gt;(this HtmlHelper&lt;T&gt; helper, ...
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多