int`項目我在我的模型這段代碼:如何顯示'在Razor視圖
public class ContactDaySelectorAttribute : SelectorAttribute
{
public override IEnumerable<SelectListItem> GetItems()
{
var contactDay = new List<ContactDay>
{
new ContactDay {Id = 1, Name = "Monday"},
new ContactDay {Id = 2, Name = "Tuesday"},
new ContactDay {Id = 3, Name = "Wednesday"},
new ContactDay {Id = 4, Name = "Thursday"},
new ContactDay {Id = 5, Name = "Friday"},
new ContactDay {Id = 6, Name = "Saturday"},
};
return contactDay.ToSelectList(m => m.Id, m => m.Name);
}
}
//
public class ContactDay
{
public int Id { get; set; }
public string Name { get; set; }
}
//
[ContactDaySelector]
public virtual int? ContactDayCheckBox { get; set; }
//
[ContactDaySelector]
[ReadOnly(true)]
public string ContactDayCheckBoxPost
{
get { return ContactDayCheckBox.ToString(); }
}
我用ContactDayCheckBox
存儲在數據庫中的int?
值。我使用ContactDayCheckBoxPost
在確認視圖中顯示所選項目(複選框)。
如果我在我看來做了@Html.EditorFor(m => m.ContactDayCheckBoxPost)
,並且用戶先前選擇了超過一天(例如),它只顯示一天的「名稱」(即,如果星期一,星期二先前選擇,它只顯示「星期一「在視圖中)。
我該如何去獲得先前選擇顯示所有選項的看法?我試圖@foreach
,但它不會與int
工作,我嘗試了,涉及.Split(',')
插入選項之間用逗號循環的變化,但我得到的是實際的「ID」值(例如,「1」的「星期一」 ,而不是「星期一」)。
在此先感謝。
'@ EditorFor'是我的視圖(和@using MyModel','@model MyModelView')。我正在用'ContactDayCheckBoxPost'嘗試不同的事情。如果我將其設置爲「int」,則只顯示「ID」(即,如果從複選框列表中選擇星期一,星期二,則它僅顯示「1」(而不是「1,2」))。我不知道如何使用'@ foreach'來獲得「ID」(這是我的問題的答案)。你能提供一個例子嗎? – REMESQ