2012-02-15 70 views
26
<%=Html.RadioButton("BookType", "1") %> C# 
<%=Html.RadioButton("BookType", "2") %> VB 

上面的代碼生成下面的代碼asp.net MVC的Html.RadioButton生成ID和名稱相同

<input id="BookType" name="BookType" type="radio" value="1" >C# 
<input id="BookType" name="BookType" type="radio" value="2" >VB 

我需要的名稱相同,但不同的ID

我要像

輸出*

<input id="rdoCSharp" name="BookType" type="radio" value="1" >C# 
<input id="rdoVb" name="BookType" type="radio" value="2" >VB 

*

+2

我幾年前就在MVC1。真的 - 我仍然必須這樣做?除了落後的兼容性之外,什麼原因呢?爲什麼默認不輸出任何ID? – 2012-12-16 09:51:53

回答

33

你可以通過屬性覆蓋默認你希望使用overload of the RadioButton method申請:

<%=Html.RadioButton("BookType", "1", new { id = "yourId" }) %> C# 
+10

自早期mvc以來,這已經非常糟糕,而且mvc無法在版本5上正確呈現單選按鈕,這真是一種恥辱。 – 2014-03-20 06:34:55

+3

我剛剛進入MVC並試圖理解這個概念。使用這些簡單的Html助手有什麼好處?爲什麼不只是執行''並根據需要在個別<%= Model.Whatever%>中進行分配?信任微軟生成你的HTML聽起來像是一個可怕的想法。他們一次次HTML/CSS失敗。 – xr280xr 2014-05-14 14:59:00

+3

@ xr280xr:MVC也將所有驗證屬性注入到HTML中,所以並不像您想象的那麼簡單。 – 2016-02-08 16:37:00

5

用途:

<%=Html.RadioButton("BookType", "1",new{@id="BookType1"}) %> C# 
<%=Html.RadioButton("BookType", "2",new{@id="BookType2"}) %> VB 
8
<%= Html.RadioButton("BookType", "1", new { id = "rdoCSharp" }) %> C# 
<%= Html.RadioButton("BookType", "2", new { id = "rdoVb" }) %> VB 
相關問題