在ASP.NET日历控件的OnDayRender事件中添加链接按钮

问题描述:

因此,我需要根据数据库中的数据动态地为asp:calendar控件的每个单元添加一些链接按钮。我想知道做这件事的最好方法是如何使链接按钮连接到它们在回发上的事件(就我的知识而言,在Day Render事件中创建链接按钮并在LinkBut​​ton事件发生后添加它们将会发生已经开除)。在ASP.NET日历控件的OnDayRender事件中添加链接按钮

有没有人有一个很好的方法来处理?

编辑:这是一个黑客,但它的工作原理,你将获得狡猾与事件命名...等

标记:

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

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

代码隐藏:

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 
} 
+0

在OnClick事件之后没有DayRender事件吗?如果是这样 - 那么你的回答将不起作用,因为在LinkBut​​ton被初始化处理之前,Click事件已经被处理了。 – Streklin 2009-10-06 16:32:59

+0

@Rick Schott - 这非常酷,但是当点击发生时知道选择了哪个事件,我正努力通过一个唯一的ID。 – 2015-02-07 20:21:24