我有一个包含所有按钮的部分视图,它需要在提交表单后显示更新的值。在提交时我已经让它渲染了另一个局部视图,是否有一种方法可以使它在成功渲染它重新渲染时成功。以下是我现在根据我在其他地方看到的内容开始工作的代码。
jQuery在我看来:
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
$('#ChangeGrade').click(function (e) {
var tdata = $('#form1').serialize();
var origname = $('#HeatGradeDiv').find('input[name="grade"]').first().val();
var newname = $('#HeatGradeDiv').find('input[name="updatedGrade"]').first().val();
var heatname = $('#HeatGradeDiv').find('input[name="hiddenHeat"]').first().val();
$.ajax({
type: "POST",
data: {
mCollection: tdata,
grade: origname,
updatedGrade: newname,
hiddenHeat: heatname
},
url: '@Url.Action("ChangeGrade","Home")',
success: function (result) { success(result); }
});
});
function success(result) {
$('#HeatGradeDiv').dialog('close');
$("#Partial_Chem_Analysis").html(result);
//ajax call I'm trying to get working
$.ajax({
type: "POST",
url: "/Home/ButtonsPartial",
success: function (result2) { $("#ButtonsPartial").html(result2); }
});
}
});
</script>
这是我正在调用的控制器方法。当我现在运行它时它没有被击中。
public ActionResult ButtonsPartial()
{
ButtonsModel B = new ButtonsModel();
B.GetData(searchQ);
return PartialView(B);
}
感谢任何帮助。
答案 0 :(得分:2)
如果您将它附加到调试器(例如(chrome developer tools或firebug)),您是否看到任何http或js错误?
看起来您可能需要将其设为GET而不是POST ...
$.ajax({
type: "GET",
url: "/Home/ButtonsPartial",
success: function (result2) { $("#ButtonsPartial").html(result2); }
});