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

razor 放弃了事件驱动模型,你可以使用表单,当你可以提交表单时,你可以在控制器中得到结果

于 2012-09-14T08:22:03.580 回答