【问题标题】:MVC setting selected option value in viewMVC 在视图中设置选定的选项值
【发布时间】:2016-02-14 08:16:45
【问题描述】:

我无法在我的选择中获得选择的值。如果选项值与项目的选定值相同,我想在选项中查看该选定值。但现在它显示了 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>

【问题讨论】:

  • 为什么你不使用强类型的DropDownListFor() megthid 并绑定到你的模型
  • 这很简单,但我的型号是 Cart,我需要发送 CartProduct 型号信息。
  • 这与它有什么关系(与您的模型无关)。
  • 如果型号不同,我不知道该怎么做。你能帮我处理一下我的案子吗?
  • CartProduct(比如_CartProduct.cshtml)创建一个包含你的BeginForm()的部分,你可以使用@Html.DropDownListFor(m =&gt; m.Drinks1, new SelectList(ViewBag.Drinks, "Name", "Name"), new { id = "" })和在主视图中@foreach (CartProduct item in Model) { @Html.Partial("_CartProduct", item) }

标签: model-view-controller option selected dynamic-html


【解决方案1】:

我之前遇到过类似的问题,但我对您的问题并不完全清楚(jsfiddle 会有所帮助)。

我认为您面临着类似的问题。它与视图的执行方式和概念性有关,有一个线程在讨论它,我会尽力为您找到它。

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

viewbag= [[“苹果”,假],[“橙色”。真],[“葡萄”,假]]

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

希望这会有所帮助,并通过投票来鼓励我!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 2015-06-14
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多