0

我有 2 个视图数据,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"]给 a 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);
                        }

                    }   
                }

仅供参考ClientTypedropdownlist我没有问题。当我在浏览器中检查时,代码不会进入 foreach。有人可以指导我如何将 ViewData["ProductRetailPriceList"] 与选定的 ViewData["product"] 进行比较,以便我可以将其分配给价格文本框。谢谢。

4

0 回答 0