#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
Я думаю, на это уже должен быть дан ответ!
Что-то вроде :
@Html.EditorFor(model => model.UserDept)
Просто у UserDept
есть несколько опций, поэтому я хочу, чтобы пользователи могли выбирать в radio или checkbox, и это текстовое поле может получить значение , 🙂
Ответ №1:
Обычно это делается с помощью выпадающего списка, потому что для этого есть помощник.
Сначала вы должны заполнить данные для этого списка выбора в вашем контроллере, вот так:
public ActionResult Edit(int id)
{
ViewBag.PossibleMembers = memberRepository.All;
return View(projectRepository.Find(id));
}
Тогда, на ваш взгляд, вы можете использовать:
@Html.DropDownListFor(model => model.MemberId, ((IEnumerable<RunDog2.Models.Member>)ViewBag.PossibleMembers).Select(option => new SelectListItem {
Text = (option == null ? "None" : option.Name),
Value = option.MemberId.ToString(),
Selected = (Model != null) amp;amp; (option.MemberId == Model.MemberId)
}), "Choose...")
Вы можете получить этот код, сгенерированный, например, с помощью MvcScaffolding.
Комментарии:
1. Спасибо Dampe! Значение текстового поля для редактирования взято из модели и не может быть заменено. Это может быть перезаписано только из другого элемента управления checkbox htmlhelper.
2. Я этого не понимаю. Но вам, конечно, не обязательно использовать ViewBag, вы можете получить эту коллекцию из model, если она у вас есть. доступна.