2010-02-01 76 views
0

我在我的應用程序中有一個下拉列表,我通過數據庫記錄綁定了 ,但是在任何編輯表單上我想設置下拉列表的選定索引。我該怎麼做,我是在這裏代表我的代碼。MVC中的DropDownList?

代碼綁定下拉列表

public IList GetFeedbackList() 
{ 
    int feedbackId = 0; 
    string feedbackName = string.Empty; 

    using (var db = new brandconnectionsEntities()) 
    { 
    return (IList)(from s in db.BC_FeedbackBy 
         select new 
         { 

         feedbackId =s.FeedbackById , 
         feedbackName=s.FeedbackBy , 
         }) 
        .ToList(); 
    } 
} 

//Code for returning the list 

IList allfeedbacks = _dropdownProvider.GetFeedbackList(); 

ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName"); 

//In the View Page 
<%=Html.DropDownList("feedback_for", ViewData["feedback_for"] as SelectList, "--Select--", new { @class = "inputtext1" })%> 

請告訴怎能我設置所選指數從數據庫

感謝 麗思

+0

下拉列表有什麼好運? – magnus 2010-02-07 19:17:15

回答

0
ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName", selectedvalue); 

至少在MVC2。

我有一個問題,當我給與下拉鍵相同的名稱作爲密鑰消失。即:

<%=Html.DropDownList("feedbackId", ViewData["feedback_for"] as SelectList, "--Select--", new { @class = "inputtext1" })%> 
0

在構造你的選擇列表中,您可以指定選項....

ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName", 
       allfeedbacks.FirstOrDefault(f => f.FeedbackById == {ID of selected record})); 
0

傳遞SelectListItems的列表來查看。 SelectListItem有一個選中的屬性。

IEnumerable<SelectListItem> itemList = 
       from item in Items 
       select new SelectListItem 
       { 
        Text = item.Name, 
        Value = item.Key, 
        Selected = (item.Key == "TheKeyYouWantToSet") 
       };