My scenario is this: I have two listbox's, one that contains all my database items, and an empty one. The user adds the items needed from the full listbox to the empty listbox.
I'm using a form to submit all the items the user has added.
The problem is, only the selected items from the listbox are submitted. So if the user deselects some of the items, they wont be submitted in the form. My view looks like so:
<% using (Html.BeginForm("MyAction", "MyController"))
{ %>
<%= Html.ListBox("AddedItems", Model.Items)%>
<input type="submit" value="Submit" name="SubmitButton"/>
<% } %>
My Controller looks like so:
public ActionResult MyAction(FormCollection formCollection)
{
var addedItems = formCollection["AddedItems"].Split(',');
//....more code that does stuff with the items
}
Am I going about everything the wrong way? Is there better way to submit the items? What would you do?
I am doing this as well, I think the way I solved it is a bit more elegant. Essentially I just have a Jquery function that runs before the form post that selects all the options.
$(function () {
$("form").submit(function (e) {
$("#box2View option").attr("selected", "selected");
});
});