2013-08-27 141 views
0
var userColor = db.userColor; 
foreach(var x in userColor){ 
    var correspondingDropDownValue = from m in db.user 
            where m.UserID == x.UserID 
            select m; 

ViewData["dropDown_Color"] = correspondingDropDownValue.Select(j => new SelectListItem { Text = j.ListOfValue, Value = j.ListOfValue }).ToList(); 
} 

在此db.userColor表中有另一个名为db.userColor.default的列,其中包含一个用作默认值的值。我如何修改上面的代码来设置选定的值?MVC DropDownList设置默认值

回答

1

使用的SelectListItemSelected属性,以确定哪些应该被默认选择:

ViewData["dropDown_Color"] = correspondingDropDownValue.Select(j => new SelectListItem { Text = j.ListOfValue, Value = j.ListOfValue, Selected = j.ListOfValue == j.userColor.default }).ToList(); 

不能够看到您的模式,我猜其中userColor.default是的,但你可以根据需要更新逻辑。

0
Use the below code to set property 

List<LimitType> objLimitTypeList = new List<LimitType>(); 

     LimitType objLimitType = new LimitType(); 
     objLimitType.WithinLimitCode = 0; 
     objLimitType.WithinLimitName = "Within Limit"; 
     objLimitTypeList.Add(objLimitType); 

     LimitType objLimitTypeN = new LimitType(); 
     objLimitTypeN.WithinLimitCode = 1; 
     objLimitTypeN.WithinLimitName = "Over Limit"; 
     objLimitTypeList.Add(objLimitTypeN); 

     if (BtnAct.ToLower() == "add") 
     { 
      ViewBag.WithinLimit = new SelectList(objLimitTypeList, "WithinLimitCode", "WithinLimitName"); 
     } 
     else 
     { 
      if (IsWithinLimit.ToLower() == "y") 
       ViewBag.WithinLimit = new SelectList(objLimitTypeList, "WithinLimitCode", "WithinLimitName", 0); 
      else 
       ViewBag.WithinLimit = new SelectList(objLimitTypeList, "WithinLimitCode", "WithinLimitName", 1); 

     }