2012-02-15 77 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 
相关问题