我的模型中有这段代码:
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(',')
提前致谢。