2

したがって、データベース内のデータに基づいて、asp:calendarコントロールの各セルにいくつかのリンクボタンを動的に追加する必要があります。これを行うための最良の方法は、リンクボタンがポストバックのイベントに接続されるようにすることです(私の知識では、Day Renderイベントでリンクボタンを作成し、そこに追加すると、LinkBut​​tonイベントの後に発生します)解雇されました)。

誰かがこれを処理するための良い方法を持っていますか?

4

1 に答える 1

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
}
于 2009-10-06T16:28:44.737 に答える