0

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;
        }
    });
});

私の問題は、データオブジェクトがデータを取得せず、テキストが「未定義」のアラートポップアップが表示されることです。

誰かがここで私を助けてくれませんか。

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"}]

また、このオブジェクトの有効なプロパティはNameContactEmailであることに注意FaxAddressてください。ただし、コードでは、返されたオブジェクトに存在しないEPFNoTitlKyEmpNoNameInInitialsおよびDtBirth

したがって、その値にアクセスするには、配列内の要素を取得する必要があり、利用可能なプロパティにアクセスできます。

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

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