我在我看來,有一個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