2015-04-16 74 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#中的保留字完全匹配的 匿名對象中的任何字段名稱。