0

我已经使用 mvc4 开发了一个 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;
        }
    });
});

我的问题是数据对象没有得到任何数据和警报弹出,文本为“未定义”。

有人可以在这里帮助我吗?

4

2 回答 2

1

也许您应该在控制器中将 ActionResult 更改为 JsonResult

public JsonResult GetTradeUserData([DataSourceRequest] DataSourceRequest request, int test) 
        {
            wholeSaleModelUser = new WholeSaleInfoService().PopulateWholeSaleUserData(test);
            return this.Json(wholeSaleModelUser, JsonRequestBehavior.AllowGet);
        }
于 2013-06-25T07:14:47.527 回答
1

好的,既然您终于显示了您的服务发送的 JSON,那么问题出在哪里就很清楚了。您有一组用户而不是单个元素:

[{"Name":"MarketFarmer","Contact":777369369,"Email":"mf@htnsys.com","Fax":114652652,"Address":"kalubowila road,dehivala"}]

另请注意,此对象的有效属性是Name, Contact, Email, FaxAddress但在您的代码中您试图读取一些EPFNo, TitlKy, EmpNo,NameInInitials并且DtBirth在返回的对象中不存在

因此,为了访问它的值,您需要获取数组中的元素,然后您可以访问可用的属性:

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

    alert(employee.Name);
    alert(employee.Contact);
    alert(employee.Email);
},
于 2013-06-25T08:17:04.257 回答