Получение некоторого свойства данных об успехе ajax и привязка его к представлению - PullRequest
0 голосов
/ 02 июля 2018

У меня есть следующее:

public class CarModelList
{
    public CarModel CarsSea { get; set; }
    public CarModel CarsAir { get; set; }
    public CarModel CarsSoil { get; set; }
}

CarModel выглядит следующим образом:

public class CarModel
{
        public long Id { get; set; }

        public string Color { get; set; }

        public List<SelectItem> ColorList { get; set; }

        public string Seats { get; set; }

        public string Model { get; set; }

        public string Year { get; set; }

}

После установки флажка в CarModelList будет добавлен новый CarModel, CarsAir. Это делается с помощью вызова ajax:

var obj = $('#form0').serialize();
             var jsonObj = @Html.Raw(Json.Encode(Model))
             console.log(jsonObj);
             $.ajax({
             url: "@Url.Action("AddAirModel", "Quote")",
             //contentType: "application/json",
             data: jsonObj,
             dataType: "json",
             type: "POST",
             success: function (data, textStatus, jqXHR) {
                 //data.appendTo("#AirQuote");
                 console.log(data.language);
                 $("#AirQuote").show();

             },
             error: function (jqXHR, statusText, errorText) {
                 alert('Error: ' + errorText)
             }

Мое действие в контроллере:

    [HttpPost]
    public ActionResult AddAirModel(CarModelList listCars)
    {
        listCars.CarsAir = new CarModel();
        listCars.CarsAir.TypeOfService = "3";
        ConfigureViewModel(listCars.CarsAir);
        return Json(new { data = listCars }, JsonRequestBehavior.AllowGet);
    }

Это корректное добавление инициализирует новый CarsAir в CarModelList и возвращает CarModelList listCars в данных. Однако сейчас я хочу привязать CarsAir к представлению. У меня есть следующее:

    if (Model.QuoteModelAir != null)
    {
    <div id="AirQuote">
        <div>
                        @Html.LabelFor(model => model.QuoteModelAir.Seats)
                        @Html.EditorFor(model => model.QuoteModelAir.Seats)
        </div>
        ....so on for all the properties of CarsAir.

    </div>
    }

Итак, как мне связать data.CarsAir из результатов ajax с представлением?

...