1

Итак, это проблема, которая беспокоила меня с того момента, как я начал играть с MVC около 3 лет назад. Связывание с DropDownLists всегда была боль в заднице, но есть отличный способ сделать это для перечислений, делая это:MVC DropdownListFor Enum с int value

@Html.DropDownListFor(model => model.Type, new SelectList(Enum.GetValues(typeof(mediaZone.Common.Models.AssetType)), Model.Type)) 

Великий, но единственная проблема в том, что это решение будет что-то вроде этого:

<select id="Type" name="Type"> 
    <option>Image</option> 
    <option selected="selected">Video</option> 
    <option>Website</option> 
</select> 

То, что я хотел бы сделать, это вывести что-то вроде этого:

<select id="Type" name="Type"> 
    <option value="1">Image</option> 
    <option value="2" selected="selected">Video</option> 
    <option value="3">Website</option> 
</select> 

Мы на 5-й версии теперь MVC, вы могли бы подумать, что много много много люди столкнулись с этой проблемой и не хотят писать код, чтобы исправить это. Я действительно надеюсь, что кто-то там есть одна линии решения этого мелочного вопрос моих :)

Чирзы, /r3plica

+0

У вас есть http://stackoverflow.com/questions/4656758/mvc3-razor-dropdownlistfor-enums – Satpal

+0

не то, что я ищу. Мне не нужен класс-помощник, я даже не хочу писать больше кода в одну строку. Я знаю, что «могу» написать класс помощника, но, конечно, что-то такое простое должно быть частью MVC .... – r3plica

+0

Итак ... вам нужно знать, есть ли 1 решение вашей проблемы. Это все ваш вопрос? Тогда нет. Линейная подсчетная вещь, обратно к юному времени :) – Romias

ответ

1

ли в контроллере, это просто Еогеасп для элементов перечислений , возвращая коллекцию с двумя значениями вместо имени.

Тогда ... на ваш взгляд, вы можете получить одну строку кода, гораздо чище, что один у вас есть сейчас:

@Html.DropDownListFor(model => model.Type, Model.MySelectList) 

Другие преимущества делают Еогеасп, что вам может понадобиться интернационализацию имена каждого элемента Enum, чтобы вы могли выполнять перевод во время foreach.

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