C# 使用AJAX返回的部分视图是否可以访问模型参数?
因此,我有一个AJAX方法,用于刷新屏幕。我向控制器发送参数,它返回一个局部视图。返回局部视图时,是否有任何方法访问模型参数 AJAX代码:C# 使用AJAX返回的部分视图是否可以访问模型参数?,c#,ajax,asp.net-mvc,C#,Ajax,Asp.net Mvc,因此,我有一个AJAX方法,用于刷新屏幕。我向控制器发送参数,它返回一个局部视图。返回局部视图时,是否有任何方法访问模型参数 AJAX代码: $(document).on("click", "#btnSave", function (e) { var studentId = $('#StudentId').val(); $.ajax({ url: "/Student/InsertNew/",
$(document).on("click", "#btnSave", function (e) {
var studentId = $('#StudentId').val();
$.ajax({
url: "/Student/InsertNew/",
type: 'POST',
data: {
studentId : studentId
},
cache: true,
async: true,
}).done(function (result) {
$("#divStudentTable").html(result);
if(result.IsStudent){
//How do I get the studentId value returned from the controller?
}
}
})
控制器:
public ActionResult InsertNew(string studentId )
{
.
.
.
.
.
return PartialView("_StudentListPartial", model);
}
型号:
public class RegisterRegistrantViewModel
{
public string StudentId { get; set; }
public bool IsStudent { get; set; }
}
那么,有没有一种方法可以通过AJAX成功访问iStudent???您可以将其放置在一个元素中并查询,例如在您的部分:
<input type="hidden" id="isStudentHidden" value="@Model.IsStudent" />
您需要将它放在局部视图的某个地方,可能是在随后的html查询中。另一方面,考虑将JSON返回而不是部分,并在您的HANDLRE中构建HTML,尽管在Ajax Dead处理程序中刷新后,它似乎不会改变隐藏字段的值。它仍然保留旧值,仅在AJAX函数完成后更改。完成处理程序应仅在AJAX函数完成后运行。。。。
var isStudent = $("body").find("#isStudentHidden").val();