2012-01-20 7 views
0

Можно создать дубликат:
MVC3 Razor DropDownListFor Enumsсоздать выпадающий список с помощью Enum

Я новичок в ASP.NET MVC3 (действительно новое). Я хочу создать Drop Down List Box для четырехлетних уровней студентов. У меня есть: «Первый», «Второй», «Третий» и «Четвертый». Теперь, что в модели я создал Enum с именем YLevels следующим образом:

public enum YLevels 
    { 
     First =1, 
     Second, 
     Third , 
     Fourth 
    } 

В целом, моя модель класса StudentMT содержит:

public StudentMT() 
    { 
     Remarks = string.Empty; 
    } 

    public int Id { get; set; } 

    [Required(ErrorMessage = "First Name is required.")] 
    [StringLength(30, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 3)] 
    [Display(Name= "First Name")] 
    public string FName { get; set; } 

    [Required(ErrorMessage = "Last Name is required.")] 
    [StringLength(30, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 3)] 
    [Display(Name = "Last Name")] 
    public string LName { get; set; } 

    public string Gender { get; set; } 

    [Display(Name="Year Level")] 
    public int YLevel { get; set; } 

    public string Remarks { get; set; } 

    public enum YLevels 
    { 
     First =1, 
     Second, 
     Third , 
     Fourth 
    } 
    } 

то, на мой взгляд, я хочу использовать EditorFor():

<div class="editor-label"> 
     @Html.LabelFor(model => model.YLevel) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.YLevel) 
     @Html.ValidationMessageFor(model => model.YLevel)<br/> 
    </div> 

Как я могу определить свойство, которое будет использовать это перечисление? Как отобразить выпадающий список с помощью редактора()? Пожалуйста, предложите, что я могу сделать.

Спасибо заранее!

+0

@DarinDimitrov: thanksfor, но есть ли способ для меня, чтобы создать DropDownList с помощью @ Html.EditorFor() вместо @ Html.DropDownListFor()? – ideAvi

+0

Да, вы можете определить пользовательский шаблон редактора для данного свойства и внутри этого настраиваемого шаблона редактора использовать пользовательский помощник, указанный в сообщении, с которым я связан. –

+0

Еще раз спасибо :) – ideAvi

ответ

0

Не могли бы вы попробовать:

[Display(Name="Year Level")] 
public YLevels YLevel { get; set; } 
+0

спасибо. Я попытался, но он отображает текстовое поле, а не выпадающий список – ideAvi

+0

@ Html.DropDownListFor (m => m.YourModelProperty, новый SelectList (Enum.GetValues ​​(typeof (YourEnumType)))) этот один лайнер должен сделать это – JM1990

Смежные вопросы