MVC3部分视图,ajax仅返回JSON

MVC3部分视图,ajax仅返回JSON,ajax,asp.net-mvc,telerik-mvc,Ajax,Asp.net Mvc,Telerik Mvc,我是网络编程新手,我正在学习MVC、ajax、jQuery等,另外我还在使用telerik的一些控件 我被困在一个特别的地方 我有一个局部视图,其唯一目的是在telerik网格中显示上传文件的列表。当我第一次加载页面时,它呈现的很好。我是这样做的: @Html.Partial("~/Views/Document/Lista.cshtml", Model.Files) {"data":[{"ID_File":54,"FK_Document":2,"FileName":"ckeditor_3.6.

我是网络编程新手,我正在学习MVC、ajax、jQuery等,另外我还在使用telerik的一些控件

我被困在一个特别的地方

我有一个局部视图,其唯一目的是在telerik网格中显示上传文件的列表。当我第一次加载页面时,它呈现的很好。我是这样做的:

@Html.Partial("~/Views/Document/Lista.cshtml", Model.Files)
{"data":[{"ID_File":54,"FK_Document":2,"FileName":"ckeditor_3.6.2.zip","FileType":"application/zip","FileData":null,"FileSize":2294443,"UploadingUser":null},{"ID_File":63,"FK_Document":2,"FileName":"254371_DropDownInGrid-CL.zip","FileType":"application/zip","FileData":null,"FileSize":1708740,"UploadingUser":"S-1-5-21-3024387492-927407738-3508986423-513"}],"total":14}
但是,在完成ajax文件上传后,我想通过ajax调用使用该部分视图更新特定的div:

$("#List").load("/Document/List/", { id: fk });
我倾向于使用POST调用,因为telerik网格需要一些json格式的数据,而json不适合GET

现在,这是我的控制器操作:

[GridAction][HttpPost]
public ActionResult List(int id)
{
    Document doc = db.Documents.Where(d => d.ID == id).Single();
    return PartialView("~/Views/Document/List.cshtml", new GridModel(doc.Files));
}
现在,这将只产生json。再一次,当我第一次渲染它时,一切都正常,所以视图不应该是罪魁祸首。我正在看fiddler中的响应,它看起来像这样:

@Html.Partial("~/Views/Document/Lista.cshtml", Model.Files)
{"data":[{"ID_File":54,"FK_Document":2,"FileName":"ckeditor_3.6.2.zip","FileType":"application/zip","FileData":null,"FileSize":2294443,"UploadingUser":null},{"ID_File":63,"FK_Document":2,"FileName":"254371_DropDownInGrid-CL.zip","FileType":"application/zip","FileData":null,"FileSize":1708740,"UploadingUser":"S-1-5-21-3024387492-927407738-3508986423-513"}],"total":14}
就像这样,没有任何HTML

我尝试在我的操作方法中使用各种选项,比如将返回类型更改为JSON,或者返回整个视图而不是部分视图,但我总是得到相同的结果:裸JSON

我在谷歌上搜索了一下,但在任何地方都找不到类似的问题


所以,我请求你的帮助。

你可能想考虑刷新TeleRik网格而不处理JSON的东西。 见:


您可能需要考虑刷新的TeleRik网格,而不必处理JSON的东西。 见: