Ваша модель представления должна быть классом, который представляет свойства, необходимые вашему представлению. Поэтому, если вы хотите добавить раскрывающийся список в ваше представление, добавьте еще 2 свойства в вашу модель представления, одно для списка элементов, необходимых для построения параметров выбора, и другое для значения выбранного параметра.
public class ResourceViewModel
{
public int DeveloperTypeId { set;get;}
public List<SelectListItem> DeveloperTypes { set;get;}
public string FirstName {get; set;}
public string LastName {get; set;}
}
Теперь в вашем действии GET создайте объект этой модели представления, инициализируйте свойство DeveloperTypes
collection и отправьте объект в представление.
public ActionResult NewUser()
{
var vm = new ResourceViewModel();
vm.DeveloperTypes = db_RIRO.sp_GetAllDeveloperType()
.Select(a=> new SelectListItem {
Value = a.DeveloperTypeID.ToString(),
Text= a.Developer_Type })
.ToList();
return View(vm);
}
[HttpPost]
public void AddUser(ResourceViewModel model)
{
//check model.DeveloperTypeId
// to do : Return something
}
Предположим, db_RIRO.sp_GetAllDeveloperType()
возвращает коллекцию объектов со свойством DeveloperTypeID
типа int
и Developer_Type
типа string
.
Теперь, по вашему мнению, вы можете использовать DropDownListFor
helper
@model ResourceViewModel
@using(Html.BeginForm("AddUser","Resource"))
{
@Html.LabelFor(a=>a.FirstName)
@Html.TextBoxFor(a=>a.FirstName)
@Html.LabelFor(a=>a.LastName)
@Html.TextBoxFor(a=>a.LastName)
@Html.LabelFor(a=>a.DeveloperTypeId)
@Html.DropDownListFor(a=>a.DeveloperTypeId, Model.DeveloperTypes,"Select");
<button type="submit" class="btn">Submit</button>
}