Il null coalescing operator è un utile strumento quando si è in presenza di valori nullable tuttavia è bene fare attenzione alla precedenza degli operatori. Recentemente abbiamo trovato un bug nel nostro codice dovuto proprio ad un comportamento inaspettato (per noi!) della precedenza degli operatori, il codice era qualcosa del tipo int? primoIntero = 100; int? secondoIntero = ...

Per accedere ai controlli e ai metodi di una MasterPage in uno web user control è sufficiente aggiungere le direttive  <%@ Reference Control="~/MyMasterPage.master" %> <%@ Register Src="~/MyMasterPage.master" TagPrefix="master" TagName="master" %> al codice ascx dello web user control. In questo modo è possibile utilizzare la classe della master page nel codebehi ...

Se vi è capitato di giocare troppo con i permessi degli Item di una lista o qualche buontempone si è divertito a cambiarli e a settarli in modo strano potrebbe tornavi utile lo script che ho riportato qui sotto. Con questo script da eseguire nella PowerShell di Sharepoint è possibile resettare i permessi degli item di una lista in pochi secondi. (get-spweb "http://example.org ...

Una piccola mancanza del framework .Net è un overload di String.Contains con parametri string e StringComparision. Il problema si risolve rapidamente con un semplice extension method: public static bool Contains(this string source, string toCheck, StringComparison comparer) { return source.IndexOf(toCheck, comparer) >= 0; } Grazie a questo accorgimento, potremo effettu ...

Un aspetto abbastanza scomodo della CheckBoxList ASP.NET è la mancanza di un metodo o una proprietà che restituisca la lista degli item correntemente selezionati. Non è difficile scrivere un metodo statico in una classe di utilità che faccia esattamente questo lavoro. Tuttavia preferiamo utilizzare un extension method per avere "a portata di mano" il nostro codice e per un util ...

Sfruttando gli extension methods (già incontrati nel nostro blog) vediamo come pulire un pannello di ricerca di una pagina ASP.NET Web Forms. Questa è una situazione che può capitare numerose volte e rappresenta una lavoro noioso e ripetitivo e quindi particolarmente soggetto ad errori. Supponiamo di aver racchiuso tutti i nostri controlli all'interno di un pannello <asp:P ...

Durante lo sviluppo ASP.NET può essere utile o necessario accedere a controlli, metodi e/o proprietà della master page di una determinata web form. Ovviamente vorremmo farlo accendendo alla proprietà "Master" della pagina tuttavia questa proprietà è un'istanza della classe "System.Web.UI.MasterPage" che non contiene (ovviamente!) le nostre funzionalità custom. Sembra inoltre im ...

Oggi vediamo come risolvere un problema piuttosto fastidioso che si può verificare sviluppando un sito web con visual studio: il sito è estremamente lento con internet explorer. Nel nostro caso una pagina con una piccola griglia e una qualunque dropdownlist dava enorme problemi di usabilità. In particolare il problema per noi si verificava su IE 11 ma non su Chrome, Firefox non ...

Oggi dimostriamo un semplice utilizzo del ThreadPool di .NET osservando in maniera molto semplice che i Thread vengono riutilizzati. Per accodare una richiesta al ThreadPool utilizzeremo la classe Task, con un semplice contatore terremo traccia dei Task creati e stamperemo a video l'Id del Thread che lo esegue. var tasks = new Task[100]; for (int i = 0; i < 100; i++) { ...

Facendo seguito all'articolo precedente, oggi vedremo come gestire gli errori di un'applicazione AngularJs. Il nostro web service potrebbe infatti ritornare una serie di errori, in base all'hash della URL fornito dall'utente. Nella funzione: myApp.config(function($httpProvider, $routeProvider) { }); Occorrerà aggiungere il seguente interceptor: $httpProvider.interceptors.pus ...