我的asp.net mvc5网站上有一个从控制器传递到模型的模型。然后我使用模型显示下拉列表,我想在提交表单时传回一个id。这是我的模特:
public class SiteDirectionModel
{
public int id { get; set; }
public string name { get; set; }
}
然后在模型中,我使用List<SiteDirectionModel>
向我添加我需要的每个项目的新实例。我填写这两个列表,然后将我的模型传递给视图。
@model List<SiteDirectionModel>
@using (Html.BeginForm("GetSiteRF", "Create", FormMethod.Post))
{
@Html.DropDownListFor(x => x.name,new SelectList(Model.name,"Sites"));
<input type="button" value="Selectionner" class="btn btn-primary"/>
}
然后如何检索每个name
的ID?以及如何将它作为参数传递给我的控制器?这样我就会:
public ActionResult GetSiteRF(int id)
{
int newId = id;
//Call method to searchId ...
return View("CreateADUser");
}
答案 0 :(得分:1)
我已经给出了如何绑定并从下拉列表获取值。请使用您自己的BL。
你的模特应该是这样的。
public class Something
{
public int Id { get; set; }
public string Name { get; set; }
}
public class SiteDirectionModel
{
public SelectList MyDropDown { get; set; }
public int SelectedValue { get; set; }
}
你BL应该是这样的。
public List<Something> GetListofSomething()
{
//your logic.
}
你的Get方法应该是这样的。
public ActionResult MyGetMethod()
{
SiteDirectionModel model = new SiteDirectionModel();
model.MyDropDown = new SelectList(GetListofSomething(), "key_field_name", "value_field_name", "default_value");
}
然后最后HTML
@Html.DropDownListFor(x => x.SelectedValue,Model.MyDropDown)