我的mvc网页上有2个单选按钮。
<% using (Html.BeginForm("Search", "Search"))
{ %>
// some html codes
<%= Html.RadioButtonFor(m => m.Agents, "A", new { Checked = "checked" })%> //radio button 1
<%= Html.RadioButtonFor(m=> m.Agents,"AG") %> //radio button 2
// some html codes
<% } %>
aspx页面如下所示。
我的页面也有按钮。如果我点击该按钮,则会发生回发。
如果我更改了radiobutton选择,我需要另一个回发。如何在该事件上进行回发。但如果我更改了单选按钮的选择,则没有回发。我怎样才能做到这一点?
答案 0 :(得分:6)
这是使用单选按钮进行回发的一种方式:
<label>@Html.RadioButton("Buyer", "Buyer", new { onchange = "this.form.submit();" })Buyer</label>
答案 1 :(得分:5)
您需要使用javascript。当用户更改单选按钮的选择时,不会发生服务器端事件。因此,如果您使用的是jquery,则可以订阅.change()
事件并提交表单:
<% using (Html.BeginForm("Search", "Search", FormMethod.Post, new { id = "myform" })) { %>
<%= Html.RadioButtonFor(m => m.Agents, "A", new { @checked = "checked", @class = "radio" }) %>
<%= Html.RadioButtonFor(m => m.Agents, "AG", new { @class = "radio" }) %>
<% } %>
然后在单独的javascript文件中:
$(function() {
$('#myform .radio').change(function() {
$('#myform').submit();
});
});