2015-09-05 51 views
0

我想有以下HTML标记在MVC如何在MVC ActionLink中添加额外的html子元素?

<a href="/Home/ShoppingCart" class="view-cart"> 
<span data-hover="View Cart"><span>Cart</span></span></a> 

但是当我用这一个

@Html.ActionLink("Cart", "ShoppingCart") 

结果是

<a href="/Home/ShoppingCart">Cart</a> 

所以,我怎么可以添加属性和额外的标记?

问题基本上与<spans>有关,我不知道如何在超链接中渲染它们。

+1

http://stackoverflow.com/questions/5907530/can HtmlHelper扩展方法-i-add-a-class-to-html-actionlink-in-mvc3显示了如何向ActionLink添加class属性 – Dandy

+0

[This overload](https://msdn.microsoft.com/en-us/library/ system.web.mvc.html.linkextensions.actionlink(v = vs.118)的.aspx#L:System.Web.Mvc.Html.LinkExtensions.ActionLink%28System.Web.Mvc.HtmlHelper,System.String,System.String ,System.Object,System.Object%29) - '@ Html.ActionLink(“Cart”,“ShoppingCart”,null,new {@class =“xxxx”})' –

+0

@StephenMuecke这个超载,增加了类,但在超链接中有额外的标记,我不知道如何添加它们。例如,结果是Cart,它与期望的输出无关。 – OrElse

回答

1

您不能在由@Html.ActionLink()生成的<a>元素内添加其他html元素。您将需要使用

<a href="@Url.Action("ShoppingCart")" class="view-cart"> 
    <span data-hover="View Cart"> 
    <span>Cart</span> 
    </span> 
</a> 

如果它的东西你经常这样做,你可以考虑建立你自己生成的标记为您