简体   繁体   English

将ViewBag控制器值放在视图上

[英]Put ViewBag Controller Value on View

I'm trying to pass a ViewBag data from my controller to my View, if i put the Viewbag on a Html.DropDownList I get the correct values but if I use <input value="@ViewBag.Group" /> I only get "System.Web.Mvc.SelectList" Why am I not getting the value of my viewbag ? 我试图将ViewBag数据从我的控制器传递到View,如果我将Viewbag放在Html.DropDownList我会得到正确的值,但是如果我使用<input value="@ViewBag.Group" />我只会得到"System.Web.Mvc.SelectList"为什么我没有得到viewbag的值?

This is my controller ViewBag: 这是我的控制器ViewBag:

    public ActionResult Index(string Selected)
    {
       List<string> listadesumas = new List<string>();
        var db = new PosContext();

      foreach (var item in db.Pos)
        {
            listadesumas.Add(item.ToString());

        }
        var grupos = new SelectList(listadesumas.ToList());

        ViewBag.Group = grupos;
 return View("~/Views/HomePos/Index.cshtml",db.Pos.ToList());
    }

and my Input From View: 和我的输入从视图:

  <input value="@ViewBag.Group" />

what am i doing wrong? 我究竟做错了什么?

@{
   var group = (SelectList)ViewBag.Group
 }

<select> @foreach(var item in group) { <option value='@item'>@item</option>
} </select>

Viewbag.Group contains a list of values. Viewbag.Group包含值列表。 An input tag can only take exactly one value. 输入标签只能使用一个值。

我设法使用一个boxlist获得另一种方式,如果有人需要,这里提供了以下代码:

   @Html.ListBox("Group", (IEnumerable<SelectListItem>)ViewBag.Group)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM