formcollection只保存选定的html.listbox项值?MVC

Dar*_*rcy 13 asp.net-mvc listbox formcollection

我的情况是这样的:我有两个列表框,一个包含我的所有数据库项,一个空数据库项.用户将完整列表框中所需的项目添加到空列表框中.

我正在使用表单提交用户添加的所有项目.

问题是,只提交列表框中的选定项目.因此,如果用户取消选择某些项目,则不会在表单中提交.我的观点如下:

<% using (Html.BeginForm("MyAction", "MyController"))
   { %>

    <%= Html.ListBox("AddedItems", Model.Items)%>

    <input type="submit" value="Submit" name="SubmitButton"/>
<% } %>
Run Code Online (Sandbox Code Playgroud)

我的控制器看起来像这样:

public ActionResult MyAction(FormCollection formCollection)
{
    var addedItems = formCollection["AddedItems"].Split(',');

    //....more code that does stuff with the items
}
Run Code Online (Sandbox Code Playgroud)

我是否会采取错误的方式?有没有更好的方式来提交物品?你会怎么做?

Col*_*a18 23

我也这样做,我认为我解决它的方式更优雅一点.基本上我只有一个Jquery函数,它在选择所有选项的表单发布之前运行.

    $(function () {
        $("form").submit(function (e) {
            $("#box2View option").attr("selected", "selected");
        });
    });
Run Code Online (Sandbox Code Playgroud)