ASP.NET MVC DropDownList Validation

ASP.NET MVC DropDownList Validation

I have

[DisplayName("Country")] public List<SelectListItem> Countries { get; set; } 

property in strong-type Model View class for DropDownList.

When I try to check if the ModelState.IsValid on form postback it's always false & error for Countries tells "Can't convert [value] to SelectListItem" or some of a kind.

I figured out there is no straight-forward mapping for drop down selected value (looks like I'll have to read value from Form value collection), but how can I ignore binding and validation for List property? I just want to make ModelState.IsValid attribute to be true if all the other fields are populated properly.

Thank you in advance

Multible jquery .load() methods not running concurrently in MVC 2


How 404 error mvc 2 IIS 7?
Finally I used workaround.. ASP.NET MVC Error: Page is not allowed here because it does not extend class 'System.Web.Page' My model now:. Extension method not working if I set controller property in Action, works in OnExecuting
class Model { ... Using external javascript files with MVC  [DisplayName("Country")]   List<Country> Countries;    Guid CountrySelected    <-- new field!  ... how to give image path in java script in mvc} 
I use Html.DropDownList("CountrySelected", Model.Countries.Select(x => new SelectItemList.. User.Identity.Name returning NT AUTHORITY\NETWORK SERVICE i want Domain\USER). ASP.NET MVC download image rather than display in browser instead of HtmlDropDownListFor. HtmlDropDownListFor maps [id selected] to List not to CountrySelected property. Now [id selected] is mapped to CountrySelected .


Is it for the reason this the value submitted is of type String or Country rather than a list of SelectListItem or List<SelectListItem>.. What are you binding to the control in the UI?. try .
[DisplayName("Country")] public List<Country> Countries { receive ; set; } 
Where Country is the type name from your DAL.. EDIT: Based on the error you are recieving, it sounds like the model is expecting the value to be a String so try swapping List<Country> for List<String>..
[DisplayName("Country")] public List<string> Countries { receive ; set; } 

53 out of 100 based on 48 user ratings 373 reviews