【问题标题】:Postback on RadioButtonFor in MVCMVC 中 RadioButtonFor 的回发
【发布时间】:2015-08-20 13:20:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc radiobuttonfor


    【解决方案1】:

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

    <label>@Html.RadioButton("Buyer", "Buyer", new { onchange = "this.form.submit();" })Buyer</label>
    

    【讨论】:

      【解决方案2】:

      您需要为此使用 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();
          });
      });
      

      【讨论】:

        猜你喜欢
        • 2012-11-22
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-21
        • 1970-01-01
        相关资源
        最近更新 更多