2012-02-12 91 views
1

我是新來的網絡編程,我正在學習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了它,但無法找到無處類似的問題...

所以,我要求你的幫助。

回答