2014-05-23 64 views
1

這是我的功能。如何在Asp.Net中將匿名類型返回爲json MVC

function reqQuoteFile(_url) { 
     $.ajax({ 
      type: "GET", 
      url: _url, 
      dataType: "json", 
      success: function (data) { 
       if(data["itemsNotSupportedWarning"] != '') 
       { 
        alert(data["itemsNotSupportedWarning"]); 
        //more code... 
       } 
      } 
     }); 
    } 

它調用這個動作

public ActionResult ExportQuote(string projectNumber) 
{ 
//more code here... 

return Json(new 
       { quoteFileName = _quoteFileName, 
       itemsNotSupportedWarning = _itemsNotSupportedWarning 
      }); 
} 

_quoteFileName_itemsNotSupportedWarning都是字符串。

當我在調試模式下運行代碼時,ajax正在調用該操作。但是,執行操作後,警報彈出窗口不顯示。

感謝您的幫助。

回答

1

那麼你正確地返回一個匿名類型。但是,您需要添加JsonRequestBehavior.AllowGet

例如

public ActionResult ExportQuote(string projectNumber) 
{ 
//more code here... 

return Json(new 
       { quoteFileName = _quoteFileName, 
       itemsNotSupportedWarning = _itemsNotSupportedWarning 
      }, JsonRequestBehavior.AllowGet); 
} 

此外,必要的心不是這樣,但你可以改變data["itemsNotSupportedWarning"]data.itemsNotSupportedWarning訪問JSON屬性:

//change to data.itemsNotSupportedWarning 
if (data.itemsNotSupportedWarning != '') { 

    alert(data.itemsNotSupportedWarning); 
    //more code... 
} 
0

那是一個有錯字?

date["itemsNotSupportedWarning"] 

的數據,而不是您鍵入日期