2011-08-19 16 views
0

我想知道ASP.Net MVC 3中是否可能,使用Web窗體視圖引擎和HTML助手,以及客戶端我們使用Ext.Js來生成網格。ASP.Net MVC 3 WebFormsViewEngine HTML幫助器和JSON數據

問題是,當我返回JSON(數據)的Ext.JS網格和HTML助手。 HTML幫助程序無法呈現JSON元素。 它彈出一個窗口詢問「Firefox應該用這個文件做什麼?」

我試着使用:

return this.Json(new { objectJson = object}, "text/html", JsonRequestBehavior.AllowGet); 

而且它返回一個新的頁面與HMTML代碼,沒有綁定到HTML助手。我也試過沒有JsonRequestBehavior.AllowGet,結果是:

該請求已被阻止,因爲敏感信息可能被泄露給第三方網站時,該GET請求中被使用。要允許GET請求,請將JsonRequestBehavior設置爲AllowGet。

即使我改變MIME類型的標題來應用/ JSON,使該方法的返回爲JSONResult,而不是的ActionResult它仍然無法識別該文件。

return this.Json(new { IssueInventoryPartModel = issueInventoryPartmodel, success = true }, "application/json", JsonRequestBehavior.AllowGet); 

簡單的問題是:的HTML幫手Web窗體視圖引擎與JSON結合?

最好的問候,

鐵托

回答

0

這聽起來像沒有被正確設定的內容類型爲動作結果

0

怎麼樣,包括對JSON的returnJsonRequestBehavior.AllowGet

return Json(new 
      { 
       data = components, 
       success = true 
      }, JsonRequestBehavior.AllowGet); 
1

我在通過json發送html數據時遇到了這個問題,並解決了我牛逼加入的contentType到jsonresult,在服務器端的操作方法(通過客戶端JS調用),應該是這樣的:

return Json(dataToReturn, "text/html") 
+0

不幸的是在我的情況下,它僅返回普通的HTML代碼,而不是用結合HTML助手。它會創建一個新頁面,並將新返回的HTML代碼添加到頁面頂部。 – Tito