MVC - сравнение 2 viewdata - PullRequest
       23

MVC - сравнение 2 viewdata

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

У меня есть 2 viewdata, ViewData["product"] & ViewData["ProductRetailPriceList"] values, назначенные при чтении контроллера с database следующим образом:

 var product = db.ProductTbls.ToList();
   List<SelectListItem> productlist = new List<SelectListItem>();
   List<SelectListItem> ProductRetailPriceList = new List<SelectListItem>();

        foreach(ProductTbl item in product)
        {
            productlist.Add(new SelectListItem
                {
                    Text = item.ProductName,
                    Value = item.ProductID.ToString()
                }
                );

            ProductRetailPriceList.Add(new SelectListItem
                {
                    Text = item.RetailUnitRentPrice.ToString(),
                    Value = item.ProductID.ToString()

                }); 
ViewData["product"]  = productlist;
ViewData["ProductRetailPriceList"] = ProductRetailPriceList;

Я присваиваю значение ViewData["product"] для dropdownlist в представлении следующим образом:

@Html.DropDownListFor(model => model.ProductNamevm, (IEnumerable<SelectListItem>)ViewData["product"], new { id = "productname" })

Для текстового поля цены я создал его следующим образом:

@Html.TextBoxFor(model => model.ProductPrice, new { id = "productprice" })

Я хочу написать javascript, который позволит мне изменять значение в текстовом поле цены продукта при изменении значения названия продукта dropdownlist то, что я получил до сих пор, это следующее:

 $("#productname").change(function ()
                {
                    getprice();
                })



                function getprice()
                {
                    var productname = $("#productname").val();
                    var clienttype = $("#clienttype").val();


                    if (clienttype  == "Retail")
                    {

                        foreach (productname == ViewData["ProductRetailPriceList"])
                        {
                            var x = ViewData["ProductRetailPriceList"];
                            $("#productprice").val(x);
                        }

                    }   
                }

FYI ClientType - это dropdownlist У меня нет проблем с. Когда я проверяю в браузере код не идет внутри foreach. Может ли кто-нибудь подсказать мне, как сравнить ViewData ["ProductRetailPriceList"] с выбранным ViewData ["product"], чтобы я мог назначить его текстовому полю цены. Спасибо.

...