此:
string val = Convert.ToString(Model.gender);
ViewData["gen"] = val;
是不與此兼容:
ViewData["gen"] as SelectList
ViewData["gen"]
包含一個字符串值,而不是SelectList
,當你嘗試投它,你得到空和下拉不包含任何值。
您需要一個數組才能填充下拉列表。第一步是創建一個強類型的對象數組。假設你有下面的類定義:
public class Gender
{
public int Id { get; set; }
public int Text { get; set; }
}
在你的控制器動作:
public ActionResult Index()
{
var genderList = new[]
{
new Gender{ Id = 1, Text = "Male" },
new Gender{ Id = 2, Text = "Female" },
}; // This should come from the database
ViewData["genderList"] = new SelectList(genderList, "Id", "Text");
return View();
}
,並在視圖:
<%= Html.DropDownList("gen", ViewData["genderList"] as SelectList) %>
我沒有得到,如何從已存儲的數據庫中獲取值。我想顯示在頂部的價值。 – Renu123 2010-05-18 15:03:59