2

mvc Web ページに 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

これは、ラジオ ボタンを使用してポスト バックを行う 1 つの方法です。

<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 に答える