I delegati sono dei tipi che incapsulano uno o più metodi, nel framework .NET sono usati in abbondanza e sono assolutamente essenziali nella gestione degli eventi. Nella gestione degli eventi di una web form ASP.NET il framework rende molto facile e intuitivo utilizzarli anche senza capire come funzionano effettivamente. Anche LINQ fa un utilizzo massivo dei Per facilitare il ...
React Development Blog
Validazione .Net con stile Bootstrap
Tramite l'override della funzione javascript ValidatorUpdateDisplay(val) è possibile rendere tutti gli errori di validazione con lo stile Bootstrap. La funzione in oggetto è la seguente: function ValidatorUpdateDisplay(val) { if (!val.isvalid) { $(val).parent().data('val-id', $(val).attr('id')); $(val).parent().addClass('has-error'); } else { ...
SignalR, un semplice esempio.
Oggi utilizzeremo la libreria SignalR per creare una semplice pagina web (html!) che permetterà di "scambiare messaggi" tra due utenti diversi utilizzando un semplice input. SignalR è una libreria fornita da Microsoft, composta sia da codice da eseguire lato server sia codice da eseguire lato client. La libreria aggiunge delle funzionalità "real-time" alle pagine web e ci perme ...
Metodo Generico GetById con Expressions Trees
Utilizzando una classe LinqToSql per interagire con un database è estremamente utile avere la possibilità di richiamare un'entità per il suo id. Di base l'unico modo per farlo è chiamare il metodo SingleOrDefault o FirstOrDefault sulla tabella con un'opportuna lambda expression, ad esempio: table.FirstOrDefault(p => p.id == idEntita); Per quanto il codice sia breve e sem ...
Bootstrap, pannelli con i colori standard di Word 2013
Per cominciare un sito web o una applicazione web bootstrap è sempre un buon inizio per la grafica. Spesso ci troviamo nella situazione di dover scegliere i colori dei pannelli (ci riferiamo proprio al componente "panel" di bootstrap), quelli offerti di default sono sicuramente colori piacevoli e facilmente utilizzabili però anche utilizzando un template spesso la scelta è limi ...
Come selezionare diversi valori di una CheckBoxList con un extension method
Continuiamo la nostra serie di extension methods da utilizzare per facilitarci il lavoro nello sviluppo web con il framework asp.net webforms. Oggi vediamo il codice, peraltro molto semplice, per selezionare diversi valori di una checkboxlist: public static void SetSelectedValues(this CheckBoxList ckl, IEnumerable<string> selectedValues) { if (ckl == null) ...
Null coalescing operator e precedenza delle operazioni.
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 ...
Accedere ai controlli e ai metodi della master page nel codebehind di uno Web User Control
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 co ...
Resettare i permessi di tutti gli Item di una lista Sharepoint
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 ...
Contains ignore case
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 ...