我是RAZOR的新手,我想在用户点击RadioButton时触发一个事件。
理想情况下,它应该在用户单击RadioButton后动态显示所选值。
问题:
如何获取所选值
如何在用户点击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"])
答案 0 :(得分: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!" });
}
}
答案 1 :(得分:1)
razor已经放弃了事件驱动模型,你可以使用表单,当你可以提交表单时,你可以在控制器中得到结果