0
首先抱歉發佈相同的問題,認爲有很多已發佈的帖子。我嘗試了所有可能的方法,最後除了發佈相同的問題之外,我還有其他選擇。MVC DropDownListFor SelectedValue收集問題
我想以友好的方式將枚舉綁定到DROPDOWNLISTFOR,但文本。所以在控制器我綁定像
List<SelectListItem> formTypeSelectList = new List<SelectListItem>();
foreach (FormType type in ItemHelper.EnumToList<FormType>())
{
SelectListItem formTypeList = new SelectListItem();
formTypeList.Text = ItemHelper.GetEnumDescription(type);
formTypeList.Value = Convert.ToString((int)type);
formTypeList.Value = Convert.ToString((int)type);
formTypeSelectList.Add(formTypeList);
}
item.FormTypeSelectListItem = formTypeSelectList;`
我的實體選擇列表的已
public FormType FormType { get; set; }
public List<SelectListItem> FormTypeSelectListItem { get; set; }
public SelectList FinalSelectList
{
get
{
return new SelectList(FormTypeSelectListItem, "Value", "Text", (int)FormType);
}
}
我的觀點有
<%= Html.DropDownListFor(x => x.Item.FormType, Model.Item.FinalSelectList, new { id = "ddlFormType" })%>
我甚至嘗試一些其他選項結合的觀點一樣
<%= Html.DropDownListFor(x => x.Item.FormType, new SelectListItem(Model.Item.FinalSelectList,"Value","Text",(int)Model.Item.formType)) %>
沒有用,W我改變了HTML.DropdownList與一個名字指定它完美的工作,但我想只與dropdownlist綁定。
我甚至嘗試加入不同的ID,不同的名稱鑑於像
new{id="ddlformType",name="ddlformtype")
毫無效果。有人能幫我解決這個問題嗎?
感謝, 阿基拉
我也試過這個選項,但它的功能工作,即使現在我試過,但它的功能工作。我不知道我在做什麼錯。現在我的代碼看起來像<%= Html.DropDownListFor(x => x.Item.FormType,Model.Item.FormTypeSelectListItem)%>,並且我已經更改了屬性以讓iEnumerable – Akila
I能夠解決這個使用[公共類BoundEnum \t { \t \t列表 listOfValues; \t \t public Dictionary ValueDictionary {get;私人設置; } \t \t公共BoundEnum() \t \t { \t \t \t初始化(); \t \t} \t \t私人無效初始化() \t \t { \t \t \t this.ValueDictionary =新詞典(); \t \t \t的foreach(在(T [])Enum.GetValues t值(typeof運算(T))) \t \t \t { \t \t \t \t ValueDictionary.Add(值,Helpers.ItemHelper。GetEnumDescription(值爲Enum)); \t \t \t} \t \t} \t}] –
Akila
對不起我新我發佈的代碼以上,現在,我在view'已經使用<%= Html.DropDownListFor(X => x.Item.FormType,新的SelectList( \t \t \t \t \t \t \t \t新BoundEnum()。ValueDictionary, \t \t \t \t \t \t \t \t 「鍵」, \t \t \t \t \t \t \t \t 「值」, \t \t \t \t \t \t \t \t Model.Item.FormType))%>' –
Akila