hamzashah Ответов: 0

Как я могу показать цену и количество продукта


Ну что ж я новичок в этом деле Asp.net MVC и сталкивается с проблемой. У меня есть два выпадающих списка "компания" и "продукт", когда я выбираю компанию, и один из ее продуктов появляется в таблице ниже с помощью jquery. Теперь я хочу показать его количество и цену выбранного продукта, а также из базы данных.

Что я уже пробовал:

Вот мой код контроллера

 [Authorize]
 [AllowAnonymous]       
 public ActionResult Details()
 {
   ViewBag.Companies = db.Companies.ToList();
   return View();
   }
   private IList<Product> GetProduct(int CompanyId)
   {
   var data = db.Products.Where(m => m.CompanyId == CompanyId).ToList();
   return data;
 }

[AcceptVerbs(HttpVerbs.Get)]
  public JsonResult LoadProductsByCompanyId(string CompanyId, string cn)
 {
  Cname = cn;
  var ProductList = this.GetProduct(Convert.ToInt32(CompanyId));
  var ProductsData = ProductList.Select(m => new SelectListItem()
  {
   Text = m.ProductName,
   Value = m.ProductId.ToString(),
  });
   return Json(ProductsData, JsonRequestBehavior.AllowGet);
 }

  [AcceptVerbs(HttpVerbs.Post)]
  public JsonResult GetProductById(string ProductId)
   {
   sampledb4Entities db = new sampledb4Entities();
   int pid = Convert.ToInt32(ProductId);
   var Product = db.Products.Where(x => x.ProductId == pid).SingleOrDefault();
   return Json(Product, JsonRequestBehavior.AllowGet);
   }


А вот мой видовой код

<script>
  $("#ddProduct").change(function () {
  var trr = document.createElement("tr");
  $(trr).append("<td>" + $("#dd_Company option:selected").text() + "</td>").append("<td>" + $("#ddProduct option:selected").text() + "</td>");
  $(".producttable").append(trr);
    }); 
  </script>

  <script>
  $("#ddProduct").change(function () {
      var pid = $(this).val();
      var model = { ProductId: pid };
      $.ajax({
      type: "Post",
      Url: "/UserLogin/GetProductById",
      dataType: "JSON",
      contentType: "application/JSON;charset=utf-8",
      data: JSON.stringify(model),
           cache: false,
           success: function (data) {
           var trr = document.createElement("tr");
           $(trr).append("<td>" + $("#dd_Company option:selected").text() + "</td>").
           append("<td>" + ProductQuantity + "</td>").
           append("<td>" + ProductPrice + "</td>")
           ;
            $(".producttable").append(trr);
             }
             })
            });
            </script>

    <div class="producttable">
    <table>
    <tr>
     <th>
      @Html.DisplayNameFor(model => model.CompanyName)  
     </th>
     <th>
         @Html.DisplayNameFor(model => model.ProductName)
   </th>
        <th>
            Product Quantity
        </th>
        <th>
            Product Price
       </th>     
         </tr>
</table>
  </div>

ZurdoDev

Если вы можете показать одну вещь из БД, почему вы не можете показать 2?

0 Ответов