Добавление LinkButtons во время события OnDayRender элемента управления календарем ASP.NET - PullRequest
2 голосов
/ 06 октября 2009

Так что мне нужно добавить несколько кнопок ссылки в каждую ячейку элемента управления asp: calendar, динамически основанного на данных в базе данных. Мне интересно, как лучше всего это сделать, чтобы кнопки ссылок были связаны с их событиями на обратных передачах (насколько я знаю, создание кнопок ссылок на событии рендеринга дня и добавление их там произойдет после событий LinkButton уволили).

У кого-нибудь есть хороший способ справиться с этим?

1 Ответ

2 голосов
/ 06 октября 2009

РЕДАКТИРОВАТЬ: Это взломать, но он работает, вы должны быть хитрыми с именами событий ... и т. Д.

Markup:

<asp:Calendar id="calendar1" 
                OnDayRender="DayRender"
                runat="server">

<asp:LinkButton ID="LinkButton1" style="display:none;" runat="server" 
   onclick="LinkButton1_Click">LinkButton</asp:LinkButton>

Code-Behind:

protected void DayRender(Object source, DayRenderEventArgs e) 
{

    LinkButton lb = new LinkButton();
    lb.ID = "LinkButton1";
    //set all your props
     lb.Attributes.Add("href", 
        "javascript:__doPostBack('" + Calendar1.UniqueID + "$" + lb.ClientID +"','')");

    e.Cell.Controls.Add(lb);

}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    //do something
}
...