Существует еще одна перегрузка в конструкторе SelectList
, который принимает выбранный элемент, так что вы почти у цели с вашим вторым фрагментом кода
int[] array = { 1, 2, 3 };
var list = new SelectList(array, 1);
Учитывая это, вы могли бы изменить свой код на:
@Html.DropDownListFor(model => model.Quantity,
new SelectList(new[] { 1,2,3,4,5,6,7,8,9,10 }, model.Quantity))
Редактировать: кажется, что вы не можете получить доступ к параметру лямбда за пределами первого аргумента (что имеет смысл), но вы должны быть в состоянии сделать это (предполагая, что модель того же типа, что и модель, тонкийразница):
@Html.DropDownListFor(model => model.Id,
new SelectList(new[] { 1,2,3,4,5,6,7,8,9,10 }, Model.Id))
Или, используя простую переменную:
@{
int selectedQuantity = Model.Quantity;
}
@Html.DropDownListFor(model => model.Id,
new SelectList(new[] { 1,2,3,4,5,6,7,8,9,10 }, selectedQuantity))