2013-07-12 8 views
2

У меня есть этот список строки:Установка значения по умолчанию в списке выбора

public static readonly List<string> LIST_ITEM_STATE = new List<string> 
{ 
    "Brand new", 
    "Never used", 
    "Slightly used", 
    "Used", 
    "Heavily used", 
    "Damaged", 
    "Ruined", 
    "Run for your life" 
}; 

И я строю SelectList этот путь в классе:

public string mItemState { get; set; } 
public IEnumerable<SelectListItem> mItemStateList { get; set; } 

mItemStateList = new SelectList(ValueDomain.LIST_ITEM_STATE); 

И, на мой взгляд, Я визуализация dropdownlistfor так:

Item State: @Html.DropDownListFor(_item => _item.mItemState, Model.mItemStateList, String.Empty) 

DropDownList работает как шарм, но я искал способы, чтобы установить выбранное значение Д.Е. faul на Brand New при сохранении опции String.Emtpty. Как я мог это сделать?

+0

Пожалуйста, не прикрепите свои свойства к 'm'. Это не только ужасный венгерский перевод, но и совершенно ненужный, потому что * конечно * свойства являются членами. –

+0

Что бы вы предложили? Это практика, внедряемая в нашей компании, чтобы легко различать элементы, параметры метода и внутренние переменные метода. – hsim

+0

Если ваша компания настаивает на префиксах вещей, которые являются неотъемлемо членами и не могут быть чем-то еще, то я предлагаю вам запустить парня, который написал стандарты. :) –

ответ

1

Я думаю, что вы должны были бы сделать это:

public static readonly List<string> LIST_ITEM_STATE = new List<string> 
{ 
    string.Empty, 
    "Brand new", 
    "Never used", 
    "Slightly used", 
    "Used", 
    "Heavily used", 
    "Damaged", 
    "Ruined", 
    "Run for your life" 
}; 

и установить выбранное значение в SelectList:

mItemStateList = new SelectList(ValueDomain.LIST_ITEM_STATE, "Brand new"); 

Или убедитесь, что значение имущества устанавливается на начальное значение, которое вы хотите:

_item.mItemState = "Brand new"; 
+0

Работал как шарм, спасибо :) – hsim

0

Определите SelectList так:

mItemStateList = new SelectList(ValueDomain.LIST_ITEM_STATE, mItemState); 
Смежные вопросы