MVC在视图中设置选定的选项值

问题描述 投票:-1回答:1

我无法在我的选择中获得选定的值。如果选项值与项目的选定值相同,我希望在选项中看到所选值。但现在它显示了foreach循环中的最后一个值。

这是我的控制器;

  public ActionResult Cart()
    {

        if (Session["cartpastahemen"] == null)
        {
            ViewBag.CartIsEmpty = "Yes";
        }
        else
        {
            Cart s = Session["cartpastahemen"] as Cart;
        }

        ViewBag.Drinks = db.Products.Where(y => y.Category.Name == "İçecek");
        return View("Cart", Session["cartpastahemen"] as Cart);
   }

这是我的看法;

@foreach (CartProduct item in Model)
  {
   using (Html.BeginForm("ChangeCart", "Home", new { id = item.ProductId, root = "Cart" }, FormMethod.Post))
      {
       if (item.Category == "Pasta")
         {
          @switch (item.Size)
            {
             case "0":
                <div class="cart-sides-drinks-container">              
                 <select name="Drinks1">
                   @foreach (var drink in ViewBag.Drinks)
                     {
                      <option id="Drinks1" value="@drink.Name" selected="@(item.Drinks1  == drink.Name.ToString() ? "selected" : "")">@drink.Name</option>
                     }
                   </select>
                 </div>
model-view-controller option selected dynamic-html
1个回答
-1
投票

我之前遇到过类似的问题,虽然我不完全清楚你的问题(jsfiddle会有所帮助)。

我认为你正面临着类似的问题。它与视图的执行方式有关,而且非常概念化,有一个讨论它的线程,我会尝试为你找到它。

在我的例子中,我在控制器中的数组中填充了匹配选项。例如,你可以在控制器中创建一个如下所示的数组viewbag:

viewbag = [[“apple”,false],[“orange”。是],[“葡萄”,假]]

然后在视图中,您可以轻松地将false和true值拉入所选属性,您的问题将得到解决。

希望这会有所帮助,并鼓励我做一个upvote!

© www.soinside.com 2019 - 2024. All rights reserved.