【问题标题】:ASP.NET MVC: how to include <span> in link from Html.ActionLink?ASP.NET MVC:如何在 Html.ActionLink 的链接中包含 <span>?
【发布时间】:2015-05-29 17:53:17
【问题描述】:

我需要用&lt;span&gt; 包裹的链接文本,如下所示:

<a href="/foo.html"><span>Edit Group</span></a>

我可以用 Html.ActionLink 做到这一点吗?这不起作用:

<%=Html.ActionLink("<span>Edit Group</span>", "Edit", New With {.id = "bar"})%>

它只是将&amp;lt;&amp;gt; 编码为&amp;lt;&amp;gt;

是否有简单的解决方案,或者我应该使用 Url.Action 手动构建链接?

这是用于 jQuery-UI 选项卡。标签标签需要包裹在&lt;span&gt; 中才能在AJAX 内容加载时获得动画。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您可以使用 Url.Action 辅助方法作为解决方法(以防没有其他答案更适合您的需求)。

    例如,可以在您的视图中标记以下内容:

    <a href="<%= Url.Action("Edit", 
                            New With {.id = "bar"}) %>">
     <span>Edit Group</span>
    </a>
    

    【讨论】:

    • 谢谢。是的,这就是我最终所做的。
    【解决方案2】:

    你需要用Url.Action来做,据我所知Html.ActionLink是不行的。

    【讨论】:

      【解决方案3】:

      您也可以滚动您自己的 HtmlHelper 扩展方法,我实际上更喜欢这种方法,因为您可以控制 id、类和其他属性(如标题)的位置。

      这是我针对该主题整理的blog post

      【讨论】:

      【解决方案4】:

      【讨论】:

        【解决方案5】:

        这个呢:

        @{
           var link = Html.ActionLink("{0}", "Edit", New {id = "bar"}).ToString();
           var url = string.Format(link, "<span>Edit Group</span>");
        }
        
        @Html.Raw(url);
        

        //NICE HACK:推荐使用以前的建议并编写一个帮助程序来完成它。

        【讨论】:

          猜你喜欢
          • 2010-09-21
          • 2011-10-27
          • 2011-05-21
          • 1970-01-01
          • 2015-05-07
          • 2014-03-30
          • 2012-06-13
          • 2017-02-20
          • 2015-06-25
          相关资源
          最近更新 更多