Как передать выбранное значение выпадающего списка, чтобы получить функцию в контроллере в MVC - PullRequest
0 голосов
/ 10 июня 2018

Я новичок в asp.net MVC, у меня есть выпадающий список из базы данных.Теперь мне нужно отправить выбранное значение (id) в функцию get в контроллере, чтобы я мог загрузить детали выбранного значения. Вот код, который я пробовал.

Просмотр:

 @Html.DropDownListFor(model => model.ProductName, new SelectList(Model.ProductsList, "ProductID", "ProductName"),  new
                   {
                       id = "Productslist",
                       @class = "GreenDropDownListStyle",
                       @datastyle = "dropdown",
                   })

java Код сценария:

        <script type="text/javascript">
            $(document).ready(function () {
                $("#Productslist").change(function () {
                    debugger;
                    var SelectedProductID = this.value;
                    if (SelectedProductID != "") {
                        $.ajax(
                            {
                                type: 'GET',
                                url: '/Inventory/ViewProduct',
                                data: { ProductID: SelectedProductID },
                                contentType: 'application/json; charset=utf-8',
                                success: function (details) {
                                    //alert("success"); 
                                },

                            });
                    } else {
                    }

                });

            });
        </script>

этот код может получить идентификатор выбранного и просмотреть сообщение об успешном предупреждении, но не отправляет выбранное значение (идентификатор)на функцию post в контроллере

Cotroller:

[HttpPost]
    public ActionResult ViewProduct(int? ProductID)
    {
         if (ProductID != null && ProductID >0)
            {

            }
            else
            {
               message = "";
            }
        return View();
    }

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Попробуйте это:

var jsn = { ProductID: SelectedProductID };
            jsn = JSON.stringify(jsn);
            $.ajax({
                type: "POST",
                url: "/Inventory/ViewProduct",
                data: jsn,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function () {

                }
            });
0 голосов
/ 10 июня 2018

Вы должны указать POST в качестве метода http здесь.

$.ajax({
   method: 'POST',
   url: '/Inventory/ViewProduct',
   data: { ProductID: SelectedProductID },
   contentType: 'application/json; charset=utf-8',
   success: function (details) {
      //alert("success"); 
   }
});

Стоит проверить эту ссылку для более подробной информации о том, как использовать функцию jquery ajax.

Кстати, используйте type: 'POST' вместо method: 'POST', если вы используете версии jQuery до 1.9.0.

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