我需要在mvc项目的一个视图页面中组合在一起的一些RadioButton,这是我的视图代码的一部分:
<body>
<script src="<%: Url.Content("~/Scripts/jquery-1.5.1.min.js") %>"
<% using (Html.BeginForm()) { %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>PhoneNumber</legend>
<div class="Radio" runat="server">
<asp:RadioButton runat="server" GroupName="MyG" ID="RadioButton1" Text="RadioText1" />
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Tel1) %>
</div>
......
<div class="Radio" runat="server">
<asp:RadioButton runat="server" GroupName="MyG" ID="RadioButton2" Text="RadioText2" />
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Tel3) %>
</div>
.......
如上所述定义RadioButtons时出现错误:
System.Web.HttpException: Control 'RadioButton1' of type 'RadioButton' must be placed inside a form tag with runat=server.
如何将runat = server
添加到Html.BeginForm()
或以任何其他方式添加分组的RadioButtons以查看mvc ??
Razor视图怎么样?有没有办法在RazorView中定义分组的RadioButtons?
答案 0 :(得分:3)
如果您使用的是ASP.NET MVC,则不应使用WebForms的 <asp:RadioButton />
控件。相反,您应该自己输出单选按钮(通过自己编写HTML代码或使用现有的HtmlHelper
辅助方法)。
答案 1 :(得分:1)
<input type="radio" id="SelectedPlanType" name="Plan1" value='1'>
Radiobuttons可以按通用名称分组。
答案 2 :(得分:0)
如前所述,请避免使用旧式webform控件,并尽可能尝试使用强绑定MVC控件。
组名称将由mvc使用(通常)模型的属性名称计算出来
所以Razor:
@Html.RadioButtonFor(m => m.IsATallPerson, "True")
@Html.RadioButtonFor(m => m.IsATallPerson, "False")
在Aspx中:
<% Html.RadioButtonFor(m => m.IsATallPerson, "True") %>
<% Html.RadioButtonFor(m => m.IsATallPerson, "False") %>
在这个粗略的例子中,我的模型包含一个bool? (IsATallPerson)将潜水我的单选按钮。
m =&gt; m.IsATallPerson将model属性绑定到控件
字符串“True”或“False”潜水天气选择了单选按钮。
其他所有内容都应该在分组方面开箱即用。
答案 3 :(得分:0)
格式应为@Html.RadioButtonFor(the Property that saves the selected value,Value) Text To be Shown
。例如:
@Html.RadioButtonFor(m => m.IsATallPerson, "True") @model.Tel1