asp.net

Mattepuffo's logo
Sostituire valori GridView e DropDownList con voci Web.config

Sostituire valori GridView e DropDownList con voci Web.config

Lo scenario è questo: ho una GridView e una DropDownList che prendo dei valori da una tabella che ha solo valori numerici (2, 4, 6, ecc), dove ogni valore corrisponde a uno stato (pausa, da trasferire, ecc).

Gli stati non salvati da nessuna parte e io devo rappresentare gli stati al posto del valore perchè ovviamente più leggibili.

Ovviamente non posso modificare il database (sarebbe stato troppo facile).

I modi sono:

  • usare una query che ogni volta trasforma il numero in stato
  • cambiare i valori prendendoli da quelli impostati a mano nel Web.config

La prima strada è più facile ma ha degli svantaggi: se vengono cambiati gli stati devi cambiare la query; inoltre la query è anche più lenta.

Quindi ho proceduto col secondo metodo, e vi spigherò come ho fatto.

Prima di tutto dobbiamo aggiungere i nostri valori nel Web.config (il file di configurazione dei siti Asp.NET):

<appSettings>
<add key="0" value="DA PROCESSARE"/>
<add key="1" value="1 NON LO SO"/>
<add key="2" value="TRASFERITO"/>
<add key="3" value="ERRORE"/>
<add key="4" value="TRASFERITO"/>
<add key="6" value="6 NON LO SO"/>
<add key="7" value="7 NON LO SO"/>
<add key="30" value="PAUSA"/>
</appSettings>

Qui decidiamo ogni numero a che stato corrisponde.

Mattepuffo's logo
Checkbox dentro GridView in Asp.Net

Checkbox dentro GridView in Asp.Net

Il controllo server GridView è uno dei controlli più utilizzati nella creazione di pagine create in Asp.NET.

Visual Studio offre, poi, tante opzioni di personalizzazione così che è abbastanza facile imparare ad usare una GridView in poco tempo.

Però di default la GV è solo una "girglia" che rappresenta i dati in righe e colonne con molte più opzioni rispetto a una classica tabella.

Non offre ad esempio la possibilità di aggiungere DropDownList o CheckBox, a meno che non lo si fa a mano.

Nella guida vi spiego appunto come inserire una colonna CheckBox dentro a una GV.

Do per scontato che abbiate configurato la vostra GV; dovete fare però attenzione a impostare su false il parametro AutoGenerateColumns (che è condigliato a prescindere dall'argomento trattato).

Le colonne andranno inserite a mano dentro al tag <Columns>.

Dentro al suddetto tag andremmo a modificare il template attraverso TemplateField, che rappresenta un campo con contenuto personalizzato.

TemplateField permette di modificare diversi template a seconda dell'operazione che dobbiamo fare; noi useremo ItemTemplate imposta il modello per visualizzare un elemento in un controllo con associazione a dati.

Mattepuffo's logo
Collegare DetailsView e GridView

Collegare DetailsView e GridView

In questa guida vi spiego come collegare una DetailsView a una GridView.

Do per scontato che sappiate cosa siano e come si usano; inoltre io uso un database Sql Server.

Supponiamo di avere database con una classica tabella clienti che ha i seguenti campi:

  • id
  • nome
  • cognome
  • data di nascita
  • email
  • città
  • comune
  • codice fiscale

Di queste voci vogliamo mostrare pubblicamente solo id, nome e cognome.

Per fare questo possiamo usare tranquillamente una GridView impostando manualmente i campi da visualizzare.

Per vedere tutti le altre voci collegate invece impostiamo una DetailsView, collegandola alla GV.

Come fare?

Mattepuffo's logo
Recuperare indirizzo IP con Asp.NET e C#

Recuperare indirizzo IP con Asp.NET e C#

Ho trovato ben due modi per recuperare l'indirizzo IP dei visitatori attraverso Asp.NET e C#.

Uno è molto semplice e ricorda quello usato in PHP (anzi sono praticamente uguali).

L'altro è un pò più sofisticato.

Prima di tutto create una pagina aspx e aggiungete una Label per stampare l'indirizzo.

Poi mettiamo mano al code-behind della pagina.

Questo è il metodo semplice:

protected void Page_Load(object sender, EventArgs e)
{
IPAdress.Text = Request.ServerVariables["REMOTE_ADDR"];
}

Nel Paege_load andiamo ad aggiungere una semplice linea che imposta il testo della label con l'ip.

IPAdress è la label e usaimo il metodo Text per impostare il testo.

Mattepuffo's logo
Calcolare la data con C#

Calcolare la data con C#

In questo articolo vedremo come calcolare a stampare la data in vari formati con C#.

Iniziamo prima con un programma da console:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DateTime CurrTime = DateTime.Now;
Console.WriteLine("DateTime display listing specifier and result:\n");
DateTime.Now.ToString("dd/MM/yyyy h:MM tt");
Console.WriteLine("d = {0:d}", CurrTime); // Short date mm/dd/yyyy
Console.WriteLine("D = {0:D}", CurrTime); // Long date day, month dd, yyyy
Console.WriteLine("f = {0:f}", CurrTime); // Full date/short time day, month dd, yyyy hh:mm
Console.WriteLine("F = {0:F}", CurrTime); // Full date/full time day, month dd, yyyy HH:mm:ss AM/PM
Console.WriteLine("g = {0:g}", CurrTime); // Short date/short time mm/dd/yyyy HH:mm
Console.WriteLine("G = {0:G}", CurrTime); // Short date/long time mm/dd/yyyy hh:mm:ss
Console.WriteLine("M = {0:M}", CurrTime); // Month dd
Console.WriteLine("R = {0:R}", CurrTime); // ddd Month yyyy hh:mm:ss GMT
Console.WriteLine("s = {0:s}", CurrTime); // yyyy-mm-dd hh:mm:ss can be sorted!
Console.WriteLine("t = {0:t}", CurrTime); // Short time hh:mm AM/PM
Console.WriteLine("T = {0:T}", CurrTime); // Long time hh:mm:ss AM/PM
Console.WriteLine("u = {0:u}", CurrTime); // yyyy-mm-dd hh:mm:ss universal/sortable
Console.WriteLine("U = {0:U}", CurrTime); // day, month dd, yyyy hh:mm:ss AM/PM
Console.WriteLine("Y = {0:Y}", CurrTime); // Month, yyyy
Console.WriteLine();
Console.WriteLine("DateTime.Month = " + CurrTime.Month); // number of month
Console.WriteLine("DateTime.DayOfWeek = " + CurrTime.DayOfWeek); // full name of day
Console.WriteLine("DateTime.TimeOfDay = " + CurrTime.TimeOfDay); // 24 hour time
// number of 100-nanosecond intervals that have elapsed since 1/1/0001, 12:00am
// useful for time-elapsed measurements
Console.WriteLine("DateTime.Ticks = " + CurrTime.Ticks);
Console.Read(); // wait
}
}
}

Non c'è moltissimo da spiegare.

Prima viene creato un oggetto DateTime.Now.

Poi vengono usati i vari formati possibili per la stampa.

Questi metodi possono anche essere combinati tra loro.

Io però ho usato un altro modo; nel mio caso mi serviva che una pagina in Asp.NET caricasee la data all'interno di un TextBox.