2014-09-01 50 views
0

因此,我目前正試圖添加一個.net日曆控件的每一天動態鏈接按鈕(在dayRender事件)。我有的問題是linkbutton href不會出現。 這不是一個linkbutton事件不會觸發的問題,href =甚至不會出現,所以它不會觸發任何回發。這意味着按鈕看起來像這樣在HTML的一部分:動態LinkBut​​ton Click事件從不出現在產生的錨

<a class="delete79" ID="Delete_2014-09-01"> Delete </a> 

我的代碼如下所示:

protected void MyCalendar79_DayRender(object sender, DayRenderEventArgs e) 
{ 
    List<MenuDia> dayList = new List<MenuDia>(); 
    foreach (var itemMenu in ListMenuDays) 
    { 
     if (itemMenu.Dia.CompareTo(e.Day.Date) == 0) 
     { 
      dayList.Add(itemMenu); 
     } 
    } 
    LinkButton deleteButton = new LinkButton(); 
    deleteButton.CssClass = "delete79"; 
    deleteButton.Text = "Delete"; 
    deleteButton.ID = "Delete79_" + dayList[0].Dia.ToString("yyyy-MM-dd"); 
    deleteButton.Click += delegate(object o, System.EventArgs a) 
    { 
     //simple stuff here, tried putting simple generic response.redirect 
     //and stuff like that but it wasn't the problem 
    }; 
} 

我不想健全粗魯,但不要告訴我,這是因爲我正在使用委託而不是事件處理程序。首先我試着改變它(發生過同樣的事情),其次我通常這樣做,因爲它非常簡單,所以我不必創建一個單獨的方法。

另外,我試圖改變ID的東西更容易預測(DELETE_ +簡單的指數),這不是問題,不幸=(

任何其他的想法?也許這是因爲我在做??的DayRender,你不能做到這一點有我如何能實現再

+0

deleteButton的類型是什麼? – demoncodemonkey 2014-09-01 22:28:29

+0

你在哪裏/如何創建(實例化)'deleteButton'? – M4N 2014-09-01 22:28:45

+1

請注意,您生成的ID無效。只有字母數字字符和下劃線字符(_)的組合纔有效(每個MSDN)。 – M4N 2014-09-01 22:30:57

回答

0

所以,是的,我發現了問題,同樣的事情MSDN頁說:

因爲的DayRender事件而日曆控件引發是 被呈現,你不能添加一個控件,也可以舉一個事件,如LinkBut​​ton, 。您只能添加靜態控件,如 System.Web.UI.LiteralControl,Label,Image和HyperLink。

這就是問題所在。我會手動進行一次黑客攻擊,產生隱藏的鏈接按鈕的相同回發。感謝大家!

相關問題