是否可以使用包含元素的ActionLink?

正如问题所说,是否可以使用包含元素的ActionLink,如果没有,实现它的最佳方法是什么?

例如,假设我有一个Span元素,我想要整个东西是一个超链接…以下工作:

  Click anywhere in this box  

想象一下,span / css类box5使这个大…原来是一个DIV,但是,我发现没有遵循标准,这似乎遵循确定。

这呈现并且工作正常,但是,无论如何使用ActionLink代替? 我试图猜测语法,如(从表单复制):

 @using (Html.Actionlink){Click anywhere in this box} 

没有任何运气的许多其他组合。

现在,我的手动HTML解决方法工作正常,我很高兴离开它,但是,是否可以使用MVC ActionLink,如果是,我是否应该担心/是否会有任何好处?

只需使用@ Url.Action :

  Click anywhere in this box  

有一个hack你可以用来解决这个限制

 @Html.Raw( Html .ActionLink("-replace-me-", .....) .ToString() .Replace( "-replace-me-", @"Click anywhere in this box")) 

它并不优雅,但却能胜任

Html.ActionLink只是HtmlHelper对象的一个​​简单的扩展方法 。

您也可以为HtmlHelper创建自己的自定义扩展方法 ,它们非常简单,可以节省大量时间。

你不能在actionlink中指定一个html标签,但我可以建议你两个解决方案:1用你的function扩展actionlink。 所以你也可以实现与其他htmal标签一起生成href的actionlink(img或span就像你的情况一样)

2使用href中的url.content。 这就像你的实际解决方法,但更好,因为你使用你在global.asax中定义的规则,而不是使用“魔术字符串”

只需写入 并在跨度之间使用@html> ActionLink方法它将起作用