what is the best practice for submitting forms in asp.net mvc. I have been doing code like this below but i have a feeling there is a better way. suggestions?
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddNewLink(FormCollection collection_)
{
string url = collection_["url"].ToString();
string description = collection_["description"].ToString();
string tagsString = collection_["tags"].ToString();
string[] tags = tagsString.Replace(" ","").Split(',');
linkRepository.AddLink(url, description, tags);
You can use the parameters directly; the parameters will automatically get parsed and casted to its correct type. The parameter names in the method must match the parameter names that are posted from your form.
This generally works on more complex objects as well, as long as its properties can be set, and as long as your form keys are in the format objectName.PropertyName. If you need anything more advanced, you should look into model binders.
In my opinion, the Model Binder is cleaner. You can learn more at OdeToCode.com
Basically, You wrap your input from a FormCollection to a desirable model as well as validation.
In the controller