我是新來的網絡編程,我正在學習MVC,ajax,jQuery等,再加上我使用telerik的一些控件。MVC3局部視圖與AJAX返回唯一的JSON
而我被困在一個特定的點。
我有一個局部視圖,其目的只是顯示telerik網格中上傳文件的列表。當我第一次加載頁面時,它呈現很好。我不喜歡這樣寫道:
@Html.Partial("~/Views/Document/Lista.cshtml", Model.Files)
但是,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。再一次,當我第一次渲染它時,每一個都沒問題,所以視圖不應該是罪魁禍首。我正在尋找在提琴手的反應,它看起來像這樣:
{"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。
我GOOGLE了它,但無法找到無處類似的問題...
所以,我要求你的幫助。
我只是這樣做:) – 2012-02-17 23:16:55