[英]How to pass json result from controller to view in mvc
我使用mvc4.i开发了一个Web应用程序需要从控制器传递一些<IList>
作为json结果查看。
下面是控制器类中的代码
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;
}
});
});
我的问题是数据对象没有获取任何数据和警报弹出文本,文本为“未定义”。
有人可以帮帮我吗
也许你应该在你的控制器中将ActionResult更改为JsonResult
public JsonResult GetTradeUserData([DataSourceRequest] DataSourceRequest request, int test)
{
wholeSaleModelUser = new WholeSaleInfoService().PopulateWholeSaleUserData(test);
return this.Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet);
}
好了,既然您终于显示了您的服务发送的JSON,那么问题就在于清楚。 你有一组用户,而不是一个元素:
[{"Name":"MarketFarmer","Contact":777369369,"Email":"mf@htnsys.com","Fax":114652652,"Address":"kalubowila road,dehivala"}]
另请注意,此对象的有效属性是Name
, Contact
, Email
, Fax
和Address
但在您的代码中,您试图阅读返回对象中不存在的某些EPFNo
, TitlKy
, EmpNo
, NameInInitials
和DtBirth
因此,为了访问其值,您需要获取数组中的元素,然后您可以访问可用的属性:
success: function (data) {
var employee = data[0];
alert(employee.Name);
alert(employee.Contact);
alert(employee.Email);
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.