Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用AJAX返回的部分视图是否可以访问模型参数?_C#_Ajax_Asp.net Mvc - Fatal编程技术网

C# 使用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/",

因此,我有一个AJAX方法,用于刷新屏幕。我向控制器发送参数,它返回一个局部视图。返回局部视图时,是否有任何方法访问模型参数

AJAX代码:

$(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();