I have an MVC 5 / Bootstrap application. On one of the pages, I have a number of fields all bound to the model associated with the page. However, I also have a simple unordered list which always starts out empty and the user can then add items to it. They do this by entering some text into a type ahead field. Once the user finds what he/she is looking for, he/she can click a button and have it added to the unordered list. Any number of items can be added to the list. All of this works fine.

My question is how I can get the contents of the unordered list posted back to the server along with the rest of the form contents, since the unordered list isn't part of the model?
['https://Stackoverflow.com/questions/23517225', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/163534/']
Here is one way to skin this cat:

A) Add a collection to your model (which really should be a ViewModel, and not a domain model) to hold those items

B) In your button's click handler, create a hidden input field that conforms to the ASP.Net Wire Format: <http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx>

If you had a collection of orders, you should end up generating controls like this:

```
<input type="hidden" name="Orders[0].Id" value="1" />
<input type="hidden" name="Orders[1].Id" value="2" />

```

Note sequential ordering is important, if you start removing items, you'll need to re-sequence your name values.
There couple of ways to work it out.
 If you don't want to add to model, what I would prefer to do you can:

1. Directly access item that were posted via `Controller.Request` property;
2. You can post this items separately via Ajax request, and handle them in different controller action.