ASP.NET MVC 使用Html Helper的形式实现UI控件,里面有一个非常重要的下拉列表控件-DropdownList。这个控件使用还是比较灵活的,今天总结了一下。
1.View
@using (Html.BeginForm("DropDownValue", "Home"))
{
@Html.DropDownList("list", ViewBag.List as SelectList, "请选择")
<div>
<input type="submit" value="提交" />
</div>
}
<br />
@using (Html.BeginForm("DropDownValue2", "Home"))
{
@Html.DropDownList("list2","请选择")
<div>
<input type="submit" value="提交" />
</div>
}
<br />
@using (Html.BeginForm("DropDownValue3", "Home"))
{
@Html.DropDownList("list3", "请选择")
<div>
<input type="submit" value="提交" />
</div>
}
2.控制器
public ActionResult Index()
{
var listItem = new List<SelectListItem>{
new SelectListItem{Text="是",Value="1"},
new SelectListItem{Text="否",Value="0"}
};
ViewBag.list = new SelectList(listItem, "Value", "Text", "");
ViewData["list2"] = new SelectList(listItem, "Value", "Text", "");
ViewData["list3"] = new SelectList(listItem, "Value", "Text", "");
return View();
}
public string DropDownValue(string list)
{
string result = list;
return result;
}
public string DropDownValue2(string list2)
{
string result = list2;
return result;
}
public string DropDownValue3(string list3)
{
string result = list3;
return result;
}
这样选中的值就可以直接传到后台进行接收!
总结:
注意:参数名必须和控件的name相同。
如下方式是可取的:
@using (Html.BeginForm("DropDownValue3", "Home"))
{
@Html.DropDownList("list3", "请选择")
@Html.DropDownList("list2", "请选择")
<div>
<input type="submit" value="提交" />
</div>
}
public string DropDownValue3(string list2,string list3)
{
string result = list3;
return result;
}
我们可以分别获取到表单里面的两个下拉框的选择值(注意不是text,而是Value)