2015-04-16 75 views
1

我与Razor视图引擎应用CSS样式到HTML辅助

的Asp.net应用程序,我想在Html.ActionLink应用CSS样式。所以,我试图改变这一点:

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Espace propriétaire du terrain <span class="caret"></span></a> 

对此

@Html.ActionLink("Espace propriétaire du terrain ", "About", "Home",null, new { @style="class:dropdown-toggle;data-toggle:dropdown; role:button; aria-expanded:false" }) 

但没有应用的风格,我得到这个作为源的HTML代码

<a href="/Home/About" style="class:dropdown-toggle;data-toggle:dropdown; role:button; aria-expanded:false">Espace propriétaire du terrain </a> 

所以我需要知道:

  1. 为什么会发生这种情况?
  2. 我该如何修复我的代码?
+1

它需要'新{@类= “下拉菜单,切换”,data_toggle = “下拉菜单”,角色= “按钮”,aria_expanded = “假”}的' –

+0

可能重复[我如何申请一个CSS类到ASP.NET MVC中的Html.ActionLink?](http://stackoverflow.com/questions/1444495/how-do-i-apply-a-css-class-to-html-actionlink-in-asp -net-mvc) – larssy1

+0

Attributes.Add(“style”,“class = dropdown-toggle;”);不行? – dotnetnewb

回答

5

指定您的匿名new {}对象中的HTML属性为多个值:

@Html.ActionLink("Espace propriétaire du terrain ", "About", "Home",null, new { @class="dropdown", data_toggle="dropdown", role="button", aria_expanded = "false" }) 

在您的例子刚刚添加并为style属性设置的值,当你想生成中的多个属性HTML标记。

NB:

  • 助手会自动改变你的下划线破折号为 属性名称。

  • @符号应该预置于与C#中的保留字完全匹配的 匿名对象中的任何字段名称。