2

私は RAZOR を初めて使用します。ユーザーが RadioButton をクリックしたときにイベントをトリガーしたいと考えています。

理想的には、ユーザーが RadioButton をクリックした後、選択された値を動的に表示する必要があります。

質問:

  1. 選択した値を取得する方法

  2. ユーザーが RadioButton をクリックしたときにイベントをトリガーする方法。

    @{
        Layout = "~/_SiteLayout.cshtml";
        Page.Title = "Contact";
     }
    
    <div>
      <table>
        <tr>
          <td>
             @Html.RadioButton("Gender", "Male", true) Male
          </td>
          <td>
             @Html.RadioButton("Gender", "Female", false) Female
          </td>
        </tr>
     </table>
          @Html.Label(Request["Gender"] == null ? "No Selection" : Request["Gender"])
    

4

2 に答える 2

2

Razorではできません。できることは、このようにラジオボタンを作成し、Jqueryを使用して任意のアクションをトリガーすることです。

<input type="radio" name="sex" value="male" /> Male <br />
<input type="radio" name="sex" value="female" /> Female

次のようなスクリプトをページに追加できます(jQuery を使用できると仮定します)

<script type="text/javascript">
$(function () {
    $(':radio[name="sex"]').change(function () {
        $.ajax({
            url: 'sex',
            type: 'POST',
            data: { sex: $('radio[name="sex"]').val() },
            success: function (xhr_data) {
                alert(xhr_data.someValue);
            }
        });
    });
});

ビューを生成したコントローラーと同じコントローラーにアクション メソッドがあるとします。

public class YourController : Controller
{
   public ActionResult sex(string sex)
   {
      // do something awesome
      return Json(new { someValue = "testing!" });
   }
}
于 2012-09-14T08:19:22.110 に答える
1

かみそりはイベントドライバーモデルを放棄しました、あなたはフォームシートを使うことができます、あなたがフォームを提出することができるとき、あなたはコントローラーで結果を得ることができます

于 2012-09-14T08:22:03.580 に答える