62,074
社区成员
发帖
与我相关
我的任务
分享
public class RegisterViewModel
{
public IEnumerable<SelectListItem> aaa { get ; set; }
}
@Html.DropDownListFor(m => m.aaa, ViewData["d"] as SelectList)
public ActionResult Register()
{
List<SelectListItem> items = new List<SelectListItem>()
{
new SelectListItem(){Text="a", Value="a1", Selected = true},
new SelectListItem(){Text="b", Value="b1"},
};
ViewData["d"] = new SelectList(items, "Value", "Text");
return View();
}
[HttpPost]
public async Task<ActionResult> Register(RegisterViewModel model)
{
IEnumerable<SelectListItem> s = model.aaa as IEnumerable<SelectListItem>;
if (s != null)
{
int i = -1;
foreach (SelectListItem sli in s)
{
i++;
}
Response.Write("<script type='text/javascript'>alert('" + i.ToString () + " ');</script >");
}
}
@Html.DropDownListFor(d => d.aaa, Model.Select,"-- select --")
运行后,html:
<select id="aaa" name="aaa"><option value="">-- select --</option>
<option selected="selected" value="a1">a</option>
<option value="b1">b</option>
</select>
model:
public class RegisterViewModel
{
public string aaa { get; set; }
}
报错:
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'aaa'.”