2012-06-14 12 views
8

Czy zespół mvc asp.net zaimplementował domyślny model wiązania do wyliczenia? Jeden, który jest wyjęty z pudełka i nie ma potrzeby tworzenia niestandardowego spoiwa do modelu dla wyliczeń.Jak wykonać wiązanie modelu asp.net mvc 4 dla wyliczenia?

AKTUALIZACJA:
Załóżmy, że mam działanie, które będzie otrzymywać model widoku, a obiekt JSON zostanie wysłany do akcji.

jsObj{id:2, name:'mike', personType: 1} 

i model widok:

class ViewModel 
{ 
    public int id {get;set;} 
    public string name {get;set;} 
    public PersonType personType{get;set;} 
} 

public enum PersonType : int 
{ 
    Good = 1, 
    Bad = 2, 
    Evil = 3 
} 

Czy typ osoba wiązać?

Odpowiedz

4

Było tam nawet z wcześniejszymi wersjami. Ta wartość formularza HTML i Gender = Male jest poprawnie powiązana z właściwością enum Gender.

<select id="Gender" name="Gender"> 
    <option value="Male">Male</option> 
    <option value="Female">Femal</option> 
</select> 

Na stronie serwera Uważam to najłatwiejsze w użyciu wybierz list w moim modelu widoku

public class User 
{ 
    public UserType UserType { get; set; } 

    public IEnumerable<SelectListItem> UserTypesSelectList { get; set; } 

    public User() 
    { 
     UserTypesSelectList = Enum.GetNames(typeof(UserType)).Select(name => new SelectListItem() 
     { 
      Text = name, 
      Value = MakeEnumMoreUserFriendly(name) 
     }); 
    } 
} 

public enum UserType 
{ 
    First, 
    Second 
} 

iw świetle

@Html.DropDownListFor(model => model.UserType, Model.UserTypesSelectList) 
+0

tnks! ale byłem bardziej zainteresowany tym, jak to działa z obiektami jsonowymi – CoffeeCode

+0

Jestem bardzo współwierny, dlaczego nie próbowałem go po prostu :). Działa z jsonem tak samo jak z postami w postaci porządkowej. Przeczytaj więcej na temat wartości dostawców http://bradwilson.typepad.com/blog/2010/10/service-location-pt8-value-providers.html – archil

+0

Wiązanie z wyliczeniem z obiektu json nie działa dla mnie w MVC3. Nie jestem jednak pewien, czy nie robimy czegoś głupiego. – nportelli

Powiązane problemy