又是一个新手问题。 ;-)如何在[HttpPost]方法中接收选定的Dropdownlist值?
我基于 this very helpfull post设置我的视图模型:
public class My_IndexModel
{
...
public IEnumerable<SelectListItem> My_DropDownList { get; set; }
...
}
请注意,我用
IEnumerable<SelectListItem>
能够设置选定的属性。
下拉列表值在控制器中设置:
public ActionResult Index()
{
...
var DropDownList_Values = from value in My_DB.Value
select new SelectListItem
{
Selected = (value.IsDefault == 1),
Text = value.Value1,
Value = value.Value1
};
...
var viewModel = new My_IndexModel
{ ...
My_DropDownList = DropDownList_Values.ToList(),
...
}
...
return View(viewModel);
}
意味着我的ViewData的模型包含(对我来说)一个下拉列表。
另外,下拉列表是我的网站(*的.aspx)所示,并期待这样:
<%: Html.DropDownList("MyDropDownListField",
new SelectList(Model.My_DropDownList as IEnumerable,
"Value",
"Text",
Model.My_DropDownList
)
)%>
没问题了这一点。
在网站(* .aspx)我有一个简单的“提交”按钮,它返回所有数据。 我在这里取提交事件:
[HttpPost]
public ActionResult Index(My_IndexModel model)
{
if (ModelState.IsValid)
{
... model.My_DropDownList ...
}
}
但DropDownList的是空的!
要在[HttpPost]方法中获得所选下拉列表值 必须做些什么?
我非常乐意推荐通过的至少一个会官方的ASP.NET MVC教程 - 最好是一个带有DropDownList的教程。 :)他们非常擅长让你快速而牢固地掌握视图,行动和两者之间的数据传递。 http://www.asp.net/mvc/tutorials/mvc-music-store-part-2 – bzlm 2010-08-10 08:10:34
Thx。好。诚然,看教程将有助于...抱歉,因为这么愚蠢而无法发布这样的问题。 – user415876 2010-08-10 08:18:42