У меня есть простой UserControl, который я хочу отображать в каждой ячейке календаря. Я хотел бы, чтобы он отображал различную информацию на основе набора данных, передавая изменение некоторых свойств, представленных в UserControl. По какой-то причине это не работает. Мне интересно, если цикл страницы не позволяет этому работать правильно, как это работает, если я загружаю элемент управления на событие PageLoad.
например.
protected void Cal1_DayRender(object sender, DayRenderEventArgs e)
{
foreach (var item in MyDataSet.Where(s=>s.AvailibilityDate.Date == e.Day.Date))
{
//the days match. Render a the usercontrol setting some property values to alter the rendering of the control
MyUserControl userControl = Page.Loadcontrol("~/UserControls/MyUserControl.ascx") as MyUserControl;
if(userControl != null)
{
//set the properties
userControl.DisplayText = item.PersonsFullName;
e.Cell.Controls.Add(userControl );
}
}
}
UserControl содержит свойство DisplayText, которое устанавливает значение текстового значения литерального элемента управления в методе OnInit.
Есть идеи ??
Заранее спасибо.