2013-06-25 110 views
0

我開發了一個使用mvc4.i的web應用程序,需要將一些<IList>從控制器中查看爲json結果。如何從控制器傳遞json結果在mvc中查看

下面

是在控制器類

public ActionResult GetTradeUserData([DataSourceRequest] DataSourceRequest request, int test) 
     { 
      wholeSaleModelUser = new WholeSaleInfoService().PopulateWholeSaleUserData(test); 
      return Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet); 
     } 

代碼,這裏是視圖類的代碼

<script> 
$("#submitMarketUser").click(function() { 
    $.ajax({ 
     url: "WholeSaleTrade/GetTradeUserData", 
     data: { test: $("#Names").val() }, 
     dataType: "json", 
     type: "POST", 
     success: function (data) { 

      alert(data.EmpNm); 

      $("#Contact").val(data.Contact); 
      $("#EPFNo").val(data.EPFNo); 
      $("#TitlKy").val(data.TitlKy); 
      $("#EmpNm").val(data.EmpNm); 
      $("#NameInInitials").val(data.NameInInitials); 
      $("#DtBirth").val(dateFromStringWithTime(data.DtBirth)); 
     }, 
     error: function (e) { 
      return false; 
     } 
    }); 
}); 

我的問題是數據對象沒有得到任何數據和警報彈出一個文本爲「未定義」。

有人可以幫我在這裏。

+1

GetTradeUserData方法是用[HttpPost]屬性標記的嗎?該方法不會被擊中,因爲它將默認接受GET請求,並且您正在發佈。 此外,您是否添加了一個斷點並查看您的代碼是否實際被擊中? – steinar

+0

什麼'alert(JSON.stringify(data));'在你的成功回調中顯示? –

+0

你使用什麼瀏覽器? – Andrei

回答

1

好了,現在你已經在去年通過顯示您的服務發送的JSON很明顯的問題是什麼。你有用戶的集合,而不是一個單一的元素:

[{"Name":"MarketFarmer","Contact":777369369,"Email":"[email protected]","Fax":114652652,"Address":"kalubowila road,dehivala"}] 

也請不就是這個對象的有效性能NameContactEmailFaxAddress,但在你的代碼試圖閱讀一些EPFNoTitlKyEmpNoNameInInitialsDtBirth不中你的返回對象

存在,所以才能訪問你需要得到數組中元素的值,然後就可以訪問可用的屬性:

success: function (data) { 
    var employee = data[0]; 

    alert(employee.Name); 
    alert(employee.Contact); 
    alert(employee.Email); 
}, 
+0

Thanx很多先生。最後我用你的答案解決了這個問題。 – sanzy

+0

順便說一下,我的最後一步是我需要將這些值分配給存在於不同視圖中的文本框(而不是在此腳本運行的視圖中)一個接一個地執行此操作?如何將這些值傳遞給部分視圖或另一種觀點? – sanzy

0

也許你應該改變的ActionResult到JsonResult在控制器

public JsonResult GetTradeUserData([DataSourceRequest] DataSourceRequest request, int test) 
     { 
      wholeSaleModelUser = new WholeSaleInfoService().PopulateWholeSaleUserData(test); 
      return this.Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet); 
     } 
+0

我做了更改,但是我無法得到肯定的答案。問題仍然存在。 – sanzy

+0

您是否測試過您的wholeSaleModelUser變量是否爲空?你在你的控制器方法中添加了一個斷點嗎? –

+0

是的,我檢查了一個斷點和wholeSaleModelUser變量得到了適當的結果,但不會讓他們在視圖類 – sanzy

相關問題