0
我正在使用EF 5
和Code First
來處理ASP.NET MVC4
應用程序。我的一個實體,是這樣的:如何根據Enum的整數值設置Enum的類型爲Enum
public enum PageTypes
{
LinkPage = 10,
FileListPage = 20,
TableValuePage = 30
}
public class Page
{
public int PageID { get; set; }
public string Title { get; set; }
public PageTypes Type { get; set; }
public DateTime Date { get; set; }
}
在我看來
我有下拉,其中這些值是硬編碼的(從視圖模型拍攝):
public class PagesViewModel
{
public PageViewModel()
{
TypeOfPage = new List<ListItem> {
new ListItem { Text = "LinkPage ", Value = "10" },
new ListItem { Text = "FileListPage ", Value = "20" },
new ListItem { Text = "TableValuePage ", Value = "30" } };
}
//some other properties
public string SelectedValue { get; set; }
public List<ListItem> TypeOfPage { get; set; }
}
,並在視圖中的實際可視化:
@Html.DropDownListFor(m => m[i].SelectedValue, new SelectList(Model[i].TypeOfPage, "Value", "Text")})
所以當我在我的控制器模型哪能實際設置基礎上,從SelectedValue
在ViewModel的Page
類型:
new Page { //other properties.., Type = ???? }
不錯,簡單。謝謝。我用這個'Type =(PageTypes)Convert.ToInt32(model [i] .SelectedValue)'你怎麼找到它? – Leron
是的,這將工作!您可能希望將其分解爲變量以使其更易於調試。你說'Tomayto',我說'Tomarto';你說'Convert.ToInt32',我說'int.TryParse' - 同樣的結果:) –