ASP.NET MVC:如何在Html.ActionLink的链接中包含<span>?</span>

时间:2009-10-10 04:58:47

标签: asp.net-mvc

我需要包含<span>的链接文本,如下所示:

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

我可以使用Html.ActionLink吗?这不起作用:

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

只是HTML将<>编码为&lt;&gt;

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

这适用于jQuery-UI选项卡。选项卡标签需要包装在<span>中,以便在加载AJAX内容时获取动画。

5 个答案:

答案 0 :(得分:21)

您可以使用Url.Action帮助程序方法作为解决方法(如果没有其他答案更符合您的需求)。

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

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

答案 1 :(得分:11)

您需要使用Url.Action进行此操作,据我所知,Html.ActionLink无法使用。{/ p>

答案 2 :(得分:9)

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

这是我在这个主题上放在一起的blog post

答案 3 :(得分:4)

答案 4 :(得分:3)

这个怎么样:

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

@Html.Raw(url);

// NICE HACK:建议使用以前的建议并写一个帮助来包装它。