2010-05-18 66 views
1

我想在下拉列表中顯示選定的值。該值來自數據庫。如果我們想要更新用戶配置文件,那麼以前由用戶提供的性別值應顯示爲選定值。我用來顯示的代碼是如何在asp.net mvc的下拉列表中顯示選定的值?

<% string val = Convert.ToString(Model.gender); 
    ViewData["gen"] = val; 
%> 
<%= Html.DropDownList("genderList", ViewData["gen"] as SelectList) %> 

,但它不是顯示值從database.but可視數據從數據庫中獲得價值,但它沒有顯示在下拉列表中。 在此先感謝。

回答

0

您可以檢查this博客張貼這顯示瞭如何在ASP.NET MVC中使用DropDownList。

0

此:

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) %> 
+0

我沒有得到,如何從已存儲的數據庫中獲取值。我想顯示在頂部的價值。 – Renu123 2010-05-18 15:03:59

相關問題