我在我看来,有一个DropDownListFor
:DropDownListFor - 为什么选定的元素总是第一个?
@model UserProfileViewModel
@Html.DropDownListFor(x => x.PreferredLangID,
new SelectList(Model.PreferredLanguages,
"LanguageID",
"DisplayName",
Model.PreferredLang))
控制器动作:
public ActionResult EditProfile()
{
List<Language> languages = Code.LanguageLogic.GetAllLanguages();
UserProfile profile = Code.ProfileLogic.GetUserProfile();
var viewModel = new UserProfileViewModel
{
UserID = profile.UserID,
PreferredLanguages = languages,
PreferredLang = profile.PreferredLang
};
return View(viewModel);
}
我想,如果我给Model.PreferredLang
为第4 paramater in SelectList
's contructor,该元素将在下拉列表中选择,页面加载时。但是选定的元素总是列表中的第一个元素。
的型号:
public class UserProfileViewModel
{
public Guid UserID { get; set; }
public Language PreferredLang { get; set; }
public int PreferredLangID { get; set; }
public IEnumerable<Language> PreferredLanguages { get; set; }
//...
}
就是工作'profile.PreferredLang'一个'Language'或字符串代表'Language.LanguageID '? – tweray
我更新了问题 – Tschareck