DropDown не возвращает правильный требуемый идентификатор. Исправление кода - PullRequest
1 голос
/ 29 мая 2019

У меня есть 2 таблицы tblcustomer и tblphone в моей базе данных. У меня есть два свойства (бренд и модель) в tblphone. Я использую MVC5 для создания нового клиента. У меня есть 2 Dropdownlist в моем представлении, и я хочу изменить значения Dropdown2 (Models) при изменении Dropdown1 (Brand). Я реализовал этот код, но при нажатии кнопки «Отправить» dropdown2 не возвращает поле Phone_Fk, которое отправляется методом JSON. пожалуйста, проверьте код и исправьте ошибку

Я думаю, что сделал ошибку в выпадающем или скриптовом запросе.

My View

            @Html.Label("Brand", htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model => model.Com, new SelectList(ViewBag.Brand),"--Select Brand--")
                @Html.ValidationMessageFor(model => model.Com,"", new { @class = "text-danger" })
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.Phone_Fk, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model => model.Phone_Fk, new SelectList(" "), "--Select Model--")
                @Html.ValidationMessageFor(model => model.Phone_Fk, "", new { @class = "text-danger" })
            </div>
        </div>

Сценарий

<script src="~/scripts/jquery-1.10.2.js"></script>
<script >
    $(document).ready(function () {
        $("#Com").change(function () {
            $.get("/Customer/getmodelList", { Com: $("#Com").val() }, function (data) {
                $("#Phone_Fk").empty();
                $.each(data, function (index, row) {
                    $("#Phone_Fk").append("<option value='" + row.Phone_Fk + "'>" + row.model_name + '</option>')
                });
            });
        })
    });
</script>

Контроллер

  public JsonResult getmodelList(string Com)
        {
            db.Configuration.ProxyCreationEnabled = false;
            var list = db.Phonedetails.Where(x => x.Com_nam == Com).Select(x => new { x.Phoneid, x.model_name }).ToList();
            return Json(list, JsonRequestBehavior.AllowGet);
        }
        // POST: Customer/Create
        [HttpPost]
        public ActionResult Create(myappCustomer p)
        {
            try
            {

                if (ModelState.IsValid)
                {
                    d.createcus(p);
                    return RedirectToAction("Index");
                }

я хочу идентификатор модели, которая выбрана в dropdown2, но идентификатор идет 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...