GridView visualizzare Row Number

Oggi mi è capitato di dover visualizzare il numero di riga in una grid view, dopo aver pensato ad astruse query, ho risolto con questao semplicissimao template column Filed:

<asp:TemplateField HeaderText=”Prog.”>
<ItemTemplate>
      
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>

Annunci

Problema corruzione del ViewState con Asp.net ajax e Firefox

In questi giorni ho scoperto un piccolo (inzomma) problema che Asp.net Ajax ha con firefox.
Se si inserisce in una pagina un update panel  che contiene, per esempio, un bottone che fa popolare una gridview e si lascia per qualche motivo la pagina quando si ritorna ad essa tramite il pulsante back del browser si riceve un errore di “Invalid viewstate”.

Ho googlato tutto il giorno ma l’unica soluzione che per ora ho trovato è disabilitare i vari controlli che vengono fatti sul ViewState trami le direttive del tag Page.

Errore di caricamento del view state usando il formView

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.

Questo è l’errorino che mi ha tormentato oggi per un pò, come si evince dal titolo stavo usando una FormView.
Googlando ho trovato questo post sul forum di asp.net in cui si suggeriva di cambiare il defaultMode da ReadOnly a Edit e in effetti questo trucchetto sembra aver risolto le cose, c’è però il problema che si deve impedire al controllo di tornare allo stato readonly, ciò nel mio caso non era necessario quindi questa soluzione si è rivelata efficace.

Asp.Net MVC Framework

Sembra che asp.net avra finalmente un framework mvc ufficiale.

Settare il default button via codice

Questa è un altra di quelle cagatine che non mi ricordo mai e tutte le volte devo riguardarmele.
Per settare il default button di una form via codice si deve fare cosi:

Form.DefaultButton = btnInvia.UniqueID;

Anche se in molti esempi ho trovato gente che dice di usare l’id a me funziona solo con l’UniqueID.

Spero possa servire a qualcuno

GridView e conferma cancellazione

Tutte ma dico tutte le volte che devo mettere la conferma di eliminazione via javascript devo andarmi a vedere come si fa quindi lo metto anche qui cosi sono sicuro di dove trovarlo. 🙂

bt2.Attributes.Add("onClick", "if(!confirm('Vuoi veramente cancellare questa News?')) return false;");

Filtrare gli utenti in base alle proprietà del profile provider

Andrea Boschin, in risposta a questo thread, propone un soluzione per filtrare gli utenti in base ad alcuni valori presenti nella tabella del profile provider.
Il problema è dato dalla codifica che questi dati hanno all’interno della tabella, come fa notare lo stesso Andrea è un workaround e va bene se l’esigenza non è tale da giustificare l’implementazione di un provider custom:

Tuttavia lasciatemi fare una considerazione: la palese inadeguateza del ProfileProvider in casi come questo mi suggerisce che sia preferibile adottare un sistema custom per la persistenza di proprietà che poi servano per catalogare gli utenti, mentre il ProfileProvider dovrebbe essere usato per dati meno sensibili come ad esempio le personalizzazione dell’interfaccia o comunque dei dati che devono solamente essere persistiti tra diverse sessioni.