ASP.NET Calendar: Hide PrevMonthText or NextMonthText

If you use the ASP.NET Calendar Control and want to hide the PrevMonthText or NextMonthText then you need to use the PreRender-Event from the Calendar-Control.

In this example I hide the PrevMonthText (Hyperlink) when the current year and month equals calendars visible year and month. Note: You must set/init the VisibileDate-Property in Page_Load-Event. In my example I want that the start month and year of the control is set to today.

ListView: FindControl im EditItemTemplate

Hier eine einigermaßen vernünftige Lösung um in einem ListView WebControls im EditItemTemplate anzusprechen und Daten vom ListViewDataItem daran zu binden. Ersteres, also das ansprechen der WebControls, ist über den Event “OnItemEditing” kein Problem. Hier liegt beim DataItem der Hase im Pfeffer. Bisher habe ich keine Lösung gefunden an das DataItem im “OnItemEditing”-Event zu kommen. Der logische Versuch über

an das ListViewDataItem zu kommen schlug fehl, da es immer Null ist.

Nach langem tüfteln habe ich nun eine gute Lösung gefunden. Im “ItemDataBound”-Event wird neben dem ItemType auch der DisplayIndex mit dem EditIndex verglichen. Ist dieser gleich und der EditIndex ist gesetzt (else if-zweig) befinden wir uns EditItemTemplate und können auf die WebControls und das ListViewDataItem zugreifen.

Beispiel:

[.NET] HttpContext und UnitTests

Da ich Unit Testing sehr mag und mehr oder weniger darauf angewiesen bin musste ich vor kurzem ein nerviges Problem lösen was vorallem des öfteren unter ASP.NET WebSites und WebServices auftritt. Verwendet man in einer Methode oder Funktion das Objekt “HttpContext” scheitert der UnitTest kläglich bzw. kann nicht weiter ausgeführt werden da in der UnitTest-Umgebung der HttpConext den Wert “null” hat. Nach ein wenig Googeln habe ich mir eine annehmbare Lösung gestrickt. Man simuliert einen HttpContext im Konstruktor der Testklasse und gaukelt somit der zu testenden Applikation einen HttpContext vor.

Hier das Code-Beispiel dafür, funktioniert bei mir einwandfrei. Der Inhalt der Variablen ist dabei relativ egal.