Передача ViewModel ASP.NET MVC с использованием Ajax - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь передать одну из моих ViewModel в мою функцию Ajax, но, к сожалению, когда я захожу на консоль в моем браузере, я вижу, что она просто получает пустую строку, такую ​​как эта> {CustomerNo: ""} вместо получения правильнойданные примерно так> {CustomerNo: "1234"}. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении!Благодарю.

Моя функция Ajax:

<input type="text" id="CustomerNo" />

<script>
    $(document).ready(function () {
        let OrdreNo = window.localStorage.getItem("pgm");



        $.ajax({
            type: "GET",
            url: "http://xxx/Account/OpenOrdersDetails/" + OrdreNo ,
            dataType: "json",


            success: function (result) {
                alert(result.CustomerNo);



            } //End of AJAX Success function


        });


    });
</script>


Это то, что у меня есть в моем JsonResult:

[Route("Account/OpenOrdersDetails/{OrdreNo?}")]
public JsonResult OpenOrdersDetails(string OrdreNo)
{

 var bla4 = (from sh in data_2.Sales_Header
                        join h in data_2.Sales_Line on sh.No_ equals h.Document_No_
                        join s in data_2.Salesperson_Purchasers on sh.Salesperson_Code equals s.Code
                        where sh.No_ == OrdreNo
                        && sh.Document_Type == 1
                        select new xxx.Ordre_Open_Details_VM.OrdreSingelLine
                        {

                            OrdrerNo = sh.No_,
                            CustomerNo = sh.Sell_to_Customer_No_,
 Ordredate = sh.Order_Date,}
});

  oodvm.OrdreDetailsSingleLines = bla4.FirstOrDefault();


            return Json(oodvm,JsonRequestBehavior.AllowGet);
}


ИЭто мой ViewModel:

  public class Ordre_Open_Details_VM
    {   

public OrdreSingelLine OrdreDetailsSingleLines { get; set; }

public class OrdreSingelLine
        {


            public OrdreSingelLine()
            {

            }
            public OrdreSingelLine(string OrdrerNo, string CustomerNo, DateTime Ordredate)
            {


                this.OrdrerNo = OrdrerNo;
                this.CustomerNo = CustomerNo;
                this.Ordredate = Ordredate;


            }

            public string OrdrerNo { get; set; }
            public string CustomerNo { get; set; }
            public DateTime? Ordredate { get; set; }
}


Json Выход:

{"OrdreDetailsSingleLines":{"OrdreNo":"111111","CustomerNo":"22222","Ordredate":"/Date(1525816800000)/"}}

1 Ответ

0 голосов
/ 11 мая 2018

Чтобы получить номер клиента из ответа JSON и поместить его в текстовое поле, вы можете просто написать (внутри вашего обратного вызова «success»):

$("#CustomerNo").val(result.OrdreDetailsSingleLines.CustomerNo);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...