I'm trying to build a Server Control, it's a calendar to manage sellers
appointments (don't answer me to use and custumize Calendar Control because
unluckily it's not possible for this specific project).
A piece of my control's interface is composed of a table and in each of its
cells are stored informations about a seller, a date and a time range.
Each of these cells has to be an interactive element: I should be able to
process datas related to the clicked cell.
I've some problems joinig datas to each cell and managing events generated
from the cells within my server control:
At the moment I've implemented the table, within my Server Control, putting
an ImageButton in each cell and defining an event handler function
("DateIButton_Command" in the code below) for each ImageButton:
protected override void CreateChildControls()
{
....
for(...)
{
.....
DateIButton = new ImageButton();
DateIButton.CommandArgument = "9/12/2003";
DateIButton.Command += new CommandEventHandler(DateIButton_Command);
...
}
}
And then defining the event handler:
private void DateIButton_Command(object sender, CommandEventArgs e)
{
ExplodeDay(e.CommandArgument.ToString ());
}
The method works, but it has two great problems:
1) When I click on one of the ImageButtons and the page is posted back,
"CreateChildControls" (I use this one as rendering function, is it correct?)
is executed before than "DateIButton_Command". It's a problem because
"DateIButton_Command" sets some variables that the rendering function
"CreateChildControls" has to use in order change graphic interface's
appareance.
2)Using "DateIButton.CommandArgument" I can't assign no more than one single
string as argument for my event handler function "DateIButton_Command". And
I need to give it more than one argument.
How can I solve these problems? Am I using a wrong approach?
Another question: in .NET Calendar Control, it is possible to catch the
DayRender event to customize the rendering function of each single cell of
the calendar. Unluckily I can't use this control for my project, how can I
similarly build a Server Control which generates events which can be
caught and handled from its container?
Thanks in advance.
Luca.