围绕MVC环绕我的头。ASP.Net MVC 5在加载列表框中选择多个项目
我有一个项目列表。我需要加载一些默认选择的屏幕。
加载项目是一回事,试图选择一些默认情况下不适合我。
任何想法我错了?
我知道有很多类似问题的答案,但我似乎无法将答案翻译成我的需求。
这里是我有的代码,并试过 - 我也试图了解html助手中的各种选项。发布解决方案时请考虑这一点。
这是我最近的代码迭代;我已经通过了一堆了....
在我的控制器:
public ActionResult Index()
{
ViewBag.Statuses = AddStatuses();
return View();
}
private MultiSelectList AddStatuses()
{
string[] defaultSelected = { "Ready", "Done", "Error" };
List<SelectListItem> listItems = new List<SelectListItem>();
List<Status> s = allTypes.GetStatuses();
s.ForEach(status =>
{
listItems.Add(new SelectListItem()
{
Text = status.Name,
Value = status.ID.ToString(),
Selected = true,// defaultSelected.Contains(status.Name)
});
});
return new MultiSelectList(listItems, "Value", "Text");
}
在试图测试我defaultSelected.Contains,我只是评论它选择ALL作为真正的...还是没“T工作...
我已经在我看来,尝试这些
@Html.DropDownList("Statuses", null, null, new { @class = "form-control", multiple = true, id="queueStatuses" })
@Html.ListBox("Name", ViewBag.Statuses as MultiSelectList, new { @class = "form-control", id = "queueStatuses" })
@Html.ListBox("Statuses", null, new { @class = "form-control", id = "queueStatuses" })
我一)不明白我在做什么和b)不能得到它的工作... :)
我要找:
我怎样才能得到它与ViewBag的工作 - 而不是在这里使用viewmodel;我将在页面上使用Ajax,因此整个视图模型不是必需的 - 而且WOW只是选择一些默认项目而已。 – Darren
视图模型如何影响ajax方法? – Shyju
它并不是真的,但我的目标是保持这种简单。你的代码尽管我很确定,但需要的不仅仅是我相信只需要加载一列值并具有一些预选的列表框。另外(我是新的MVC)你有你的ActionResult创建 - 这是什么,它将如何被称为?我有一个索引操作。那不是我的管理员打来的?这是如何创建行为的? – Darren