Вы смотрели на этот ТАК вопрос ?Ответ там выглядит так, как если бы вы хотели использовать ViewBag / ViewData для передачи в этот список.
Тем не менее, почему бы просто не создать быструю модель представления и сохранить ее там?Это действительно простой способ.
Я не знаю, какова ваша модель ContentPage, но вы, безусловно, могли бы создать ContentPageViewModel, в которой есть все, что нужно (включая значения для списка выбора), необходимое дляpage.
Пример:
Было бы достаточно легко, например, иметь свойство в модели представления для хранения выделения и свойство, содержащее некоторыеперечисление возможных значений.Примерно так:
public class MyViewModel
{
...
public int SelectedId { get; set; }
...
public IEnumerable<Choice> Choices { get; set; }
}
где Choice, в моем примере, это класс, имеющий два свойства: одно содержит некоторый идентификатор, а другое - текст для отображения.Примерно так:
public class Choice
{
public int Id { get; set; }
public string Text { get; set; }
}
И тогда вы могли бы просто иметь, возможно, DropDownListFor
, который обрабатывает работу по отображению / выбору для вас.Примерно так:
@model MyViewModel
@Html.DropDownListFor(model => model.SelectedId, new SelectList(Model.Choices, "Id", "Text"), "Choose... ")
Вернувшись в действие вашего контроллера, SelectedId
модели представления будет заполнен соответствующим идентификатором для выбранного варианта выбора.