大家好我有一个控制器
public ActionResult Search(FormCollection collection)
{
....
var column = new Models.ColumnMapping("CTR");
ViewData["ColoumName"] = column;
var search = new Models.Search(columnname,searchvalue);
return View(search);
}
我的视图数据包含以下模型属性值..
public class Column {
public string ColumnName { get; set; }
public DataTypes DataType { get; set; }
}
我必须为ColumnName创建一个下拉列表(所有数据都包含在VIewData中),我的视图就像
@Html.DropDownListFor("clname", ViewData["ColoumName"] as IEnumerable<AML.Web.Models.Column>, "ColumnName", "ColumnName"))
但这不起作用
答案 0 :(得分:0)
试试这个,这只是一个例子。
查看强>
@Html.DropDownList("CustomerId", (SelectList)ViewBag.CustomerNameID, "--Select--")
<强>控制器强>
public ActionResult CustomerInfo()
{
ViewBag.CustomerNameID = new SelectList(new[]
{
new {ID="1",Name="name1"},
new{ID="2",Name="name2"},
new{ID="3",Name="name3"},
},"ID", "Name");
return View();
}
<强>模型强>
public Class ViewModel {
public int CustomerId { get; set; }
}
如果您必须使用@Html.DropDownListFor
,那么它应该是@Html.DropDownListFor(m => m.CustomerId ,(List<SelectList>)ViewBag.CustomerNameID,"-- Select --", new { @class = "input-block-level" })
答案 1 :(得分:0)
而不是DropDownListFor使用SelectList()尝试DropDownList。
@Html.DropDownList("clname",
new SelectList((IEnumerable) ViewData["ColoumName"], "Id", "ColoumName"))