2

我的 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 页面如下所示。

我的页面中也有按钮。如果我单击该按钮,则会发生回发。

如果我更改单选按钮选择,我需要另一个回发。我怎样才能回发那个事件。但是如果我改变了单选按钮的选择,就没有回发。我怎样才能做到这一点?

4

2 回答 2

7

这是使用单选按钮回发的一种方法:

<label>@Html.RadioButton("Buyer", "Buyer", new { onchange = "this.form.submit();" })Buyer</label>
于 2012-12-07T01:40:29.463 回答
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();
    });
});
于 2011-02-12T10:57:56.827 回答