2009-10-06 121 views
2

因此,我需要根據數據庫中的數據動態地爲asp:calendar控件的每個單元添加一些鏈接按鈕。我想知道做這件事的最好方法是如何使鏈接按鈕連接到它們在回發上的事件(就我的知識而言,在Day Render事件中創建鏈接按鈕並在LinkBut​​ton事件發生後添加它們將會發生已經開除)。在ASP.NET日曆控件的OnDayRender事件中添加鏈接按鈕

有沒有人有一個很好的方法來處理?

回答

2

編輯:這是一個黑客,但它的工作原理,你將獲得狡猾與事件命名...等

標記:

<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