2014-02-12 128 views
0

大家好我有一個控制器DROPDOWNLIST問題

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(所有數據包含可視數據)和我的看法是一樣

 @Html.DropDownListFor("clname", ViewData["ColoumName"] as IEnumerable<AML.Web.Models.Column>, "ColumnName", "ColumnName")) 

,但是這是不工作

回答

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" })

0

而不是DropDownListFor Try DropDownList with SelectList()。

@Html.DropDownList("clname", 
new SelectList((IEnumerable) ViewData["ColoumName"], "Id", "ColoumName"))