解决方法
如果您使用
HtmlHelper.RadioButton,只要名称与您的属性名称匹配,您就可以了.
以下是我的一个项目的代码片段:
<span><%= Html.RadioButton("DateFormat","MMMM/dd/yy",Model.DateFormat.Equals("MMMM/dd/yy"),new Dictionary<string,object> { { "class","normalwidth" } })%><label class="displayinline"><%=DateTime.Now.ToString("MMMM dd,yyyy")%></label></span> <span><%= Html.RadioButton("DateFormat","yyyy/MM/dd",Model.DateFormat.Equals("yyyy/MM/dd"),"normalwidth" } })%><label class="displayinline"><%=DateTime.Now.ToString("yyyy/MM/dd")%></label></span> <span><%= Html.RadioButton("DateFormat","dd/MM/yyyy",Model.DateFormat.Equals("dd/MM/yyyy"),"normalwidth" } })%><label class="displayinline"><%=DateTime.Now.ToString("dd/MM/yyyy")%></label></span> <span><%= Html.RadioButton("DateFormat","","normalwidth" } })%><label class="displayinline">custom <%= Html.TextBox("customdate",object> { { "style","width:50px; font-size:12px; display:inline;" } }) %> </label></span>
这是渲染的HTML.请注意,每个输入具有相同的名称,但值不同.只有选中的按钮才会将其值发回服务器.
<p><label>Date Format</label> <span><input class="normalwidth" id="DateFormat" name="DateFormat" type="radio" value="MMMM/dd/yy" /><label class="displayinline">October 18,2009</label></span> <span><input checked="checked" class="normalwidth" id="DateFormat" name="DateFormat" type="radio" value="yyyy/MM/dd" /><label class="displayinline">2009/10/18</label></span> <span><input class="normalwidth" id="DateFormat" name="DateFormat" type="radio" value="dd/MM/yyyy" /><label class="displayinline">18/10/2009</label></span> <span><input class="normalwidth" id="DateFormat" name="DateFormat" type="radio" value="" /><label class="displayinline">custom <input id="customdate" name="customdate" style="width:50px; font-size:12px; display:inline;" type="text" value="" /> </label></span> </p>
在你的班上:
public class Post { public string DateFormat {get; set:} }