【发布时间】:2016-02-23 05:23:10
【问题描述】:
我正在尝试将ViewBag 数据从我的控制器传递到我的视图,如果我将Viewbag 放在Html.DropDownList 上,我会得到正确的值,但如果我使用<input value="@ViewBag.Group" />,我只会得到@987654326 @
为什么我没有得到我的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());
}
和我从视图中的输入:
<input value="@ViewBag.Group" />
我做错了什么?
【问题讨论】:
-
Why are you using viewbag instead of strongly typing your view by passing a model?毕竟 MVC 中的 M 代表 Model.. :)
-
当您调用
@ViewBag.Group时,您将获得由.Net 本身使用.ToString()字符串化的grupos变量的值。考虑使用具有强类型属性的视图模型,以便您可以估计哪些对象具有哪些类型您可以使用,以及您可以执行哪些操作。 -
我已经有一个模型传递给我的视图,我无法合并它或向它添加更多变量,这就是我传递视图包的原因
-
A
SelectList是一个与创建下拉列表(<select>标记)相关的类,但您声称您不需要下拉列表,因此不要使用它。你想要什么?
标签: c# asp.net-mvc razor viewbag