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.

.Net si può vedere il codice

Stavo per scrivere .Net il codice è open ma avrei scritto una fesseria, comunque il fatto che lo si possa vedere senza dover ricorrere al mitico reflector è comunque già un passo avanti.

Qui il post di ScottGu’s al rigurado e “naturalmente” quello di Hanselman.

ComboBox SelectedValue

Altra cagatina da non dimenticare che mi fa perdere sempre un sacco di tempo le poche volte che metto mano a una WindowsForm:

SelectedValue restituisce null se si riempie la ComboBox mediante Items.Add()

Quindi se si vuole usare la property SelectedValue bisogna crearsi una lista e poi bindarla mediante la property DataSource.
Piccolo esempio:

 

List l = new List();
l.Add(new LayoutElements("Schermo Singolo",1));
l.Add(new LayoutElements("Quatro Schermi", 2));

cbxLayout.DataSource = l;

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