我正在尝试使用AJAX调用在选择单选按钮时呈现部分视图。我已经搜索并尝试了通过Stack上的评论看起来最好的方法。当我单击单选按钮,我没有结果,在调试中,我得到一个状态代码:500内部服务器错误?任何帮助都会很棒。
部分视图名称:
_BOA.cshtml
_TA.cshtml
_MNB.cshtml
查看:
<td class="radio-inline">
@Html.RadioButton("bankSelect", "MNBConvert", false, new { @class = "radioMNB" }) MNB Conversion
@Html.RadioButton("bankSelect", "BOAConvert", false, new { @class = "radioBOA" }) BOA Conversion
@Html.RadioButton("bankSelect", "TAConvert", false, new { @class = "radioTA" }) TA Conversion
</td>
使用Javascript:
<script src="~/Scripts/jquery-1.9.0.js"></script>
<script type="text/javascript">
$(function () {
$("[name=bankSelect]").on('change', function () {
// var $radio = $(this);
var checked = $("input[name='bankSelect']:checked").val();
$.ajax({
url: '@Url.Action("GetBankToConvert", "Home")',
data: checked,
type: 'GET',
success: function (data) {
$("#renderPartialView").html(data);
}
});
});
});
</script>
控制器:
[HttpGet]
public ActionResult GetBankToConvert(string bankSelect)
{
if (bankSelect == "MNBConvert")
{
return PartialView("_MNB");
}
else if (bankSelect == "BOAConvert")
{
return PartialView("_BOA");
}
else
{
return PartialView("_TA");
}
}
答案 0 :(得分:4)
您不能将密钥/值对作为数据发送,只能发送value
。
尝试
$.ajax({
url: '@Url.Action("GetBankToConvert", "Home")',
data: {bankSelect: checked },
type: 'GET',
success: function (data) {
$("#renderPartialView").html(data);
}
});
如有疑问,请检查浏览器开发工具的网络标签中的实际请求,以确切了解请求的所有其他组件中发送和接收的内容