获取数据回到Html.ListBoxFor MVC中的帖子

时间:2013-09-24 22:51:24

标签: asp.net-mvc html-helper html.listboxfor

似乎我可以找到的所有示例都出于某种原因使用ViewModel,因此我正在寻找MVC而不是MVVM答案:)

控制器

List<PermOptions> have = new List<PermOptions>();
List<PermOptions> nothave = new List<PermOptions>();

...populate the lists here...

var set = new PermissionSet
        {
            ExtId = extid,
            HaveList = have,
            NotHaveList = nothave
        };

return View(set);

查看

@model path.to.model.PermissionSet
@{
    var NotHave = new MultiSelectList(Model.NotHaveList, "Id", "Role");
 }

@Html.ListBoxFor(model => model.NotHaveList, NotHave, new { @size = "30", id = "possible" });    

@{
    var Have = new MultiSelectList(@Model.HaveList, "Id", "Role");
 }

 @Html.ListBoxFor(model => model.HaveList, Have, new { @size = "30", id = "have" });

一切正常,显示初始列表和移动项目,但是当我提交表单时,ListBoxFors是Post动作的一部分,PermissionSet.HaveList和PermissionSet.NotHaveList为空,零计数。认为这是一个选择问题或返回问题的格式,我添加了javascript来选择两个框中的所有项目,并在浏览器调试窗格中,我可以看到提交的表单数据中的值与各种选项值匹配NotHave和Have,但如果在Post动作中,我调用ViewData [“NotHave”],它也报告为空。

我需要做什么才能在Post控制器中获取每个ListBoxFor中的项目列表,最好是作为PermissionSet的一部分?

0 个答案:

没有答案