fishScript.com d
Home| Progetto| Web| Faq| Acronimi

Argomenti

Documenti pubblicabili:1120
Scripts:1282
Documenti non pubblicabili:162
Categorie tematiche:68
.Net
   |_C#
   |_Visual basic.net
   |_Asp.net
Active Server Pages
C++
Cascade Style Sheet
JavaScript
Mysql
Php
Xml
Java
   |_Java 2 Micro Edition
   |_Java server pages
   |_Java Servlet
Oracle
   |_PLSQL
PostgreSQL
Unix






PLSQL... Script: Pragma Exception


La rabbia è creativa, la depressione è senza utilità Dyson, Freeman J.



Charles Babbage(1791-1871) nel 1823 ottenne dal governo 100 Sterline per la costruzione del calcolatore Different Engine.

La rabbia è creativa, la depressione è senza utilità Dyson, Freeman J.

Asp.net

Home >Asp.net > Segnala un link!

Stampa  Stampa


Obiettivo

Questo tutorial prende in esame alcune delle possibilità di  iterazione tra  tecnologia .Net, in particolare C# e Aspx, con Xml. L'obiettivo pratico è quello di realizzare la pagina web "Suggerisci un sito" che attraverso un form permetta di salvare in formato xml le segnalazioni di siti web con le relative note e allo stesso tempo visualizzi la lista completa dei dati salvati. Il file xlinks.zip contiene il codice completo per la pagina xlinks.aspx come il file links.xml. Il codice è descritto interamente, pertanto coloro che hanno già conoscenza di C# e Aspx possono seguire l'esempio copiando e incollando il codice all'interno di una pagina web aspx.

Requisiti ambiente

Per eseguire il codice a seguito proposto occorre Microsoft Internet Information Server (IIS) predisposto per il .Net framework e potere concedere le dovute autorizzazioni al file aspx(esecuzione) come al file xml(scrittura) utilizzati in questo tutorial.

Compentenze necessarie

Questo tutorial presuppone la conoscenza del linguaggio Html e anche superficiale di C# , di Asp.Net e Xml.

Il file xml

Il file links.xml è il documento i cui nodi <web> contengono gli indirizzi web inseriti attraverso il webform. Gli attributi data e note relativi al link suggerito data e note) vengono memorizzati come attributi dell'elemento xml <web>:

<web note="Un grande web" data="23/11/2004 16.58.34">www.fishscript.com</web>

Impostare le direttive

Dopo avere impostato il linguaggio(C#), è necessario dichiarare l'importazione dei due namespace(o classi), System.Data e System.Xml, a cui fa riferimento il codice della pagina:

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Xml" %>

C#: caricamento dei dati Xml e stampa a video

Nel codice in C#, prima di tutto occorre definire la funzione Page_Load(), ovvero quella chiamata imediatamente al caricamento della pagina.

<script runat="server">
string xmlFileName ="links.xml";

void Page_Load(Object sender, EventArgs e) {
BindData();
}
(...)
</script>


In Page_Load() viene semplicemente lanciata in esecuzione la funzione BindData():

void BindData() {
XmlTextReader myXmlReader = new XmlTextReader(Server.MapPath(xmlFileName));
DataSet myDataSet = new DataSet();
myDataSet.ReadXml(myXmlReader);
myXmlReader.Close();
Links.DataSource = myDataSet.Tables[0];
Links.DataBind();
}


La funzione BindData() costruisce gli oggetti myXmlDocument e myDataSet: il file xml (links.xml) viene caricato, letto in un DataSet a sua volta "svolto" e stampato sulla pagina dal controllo DataList: con id Links:

<asp:DataList ID= "Links" Runat= "server">
<ItemTemplate> <a href="<%# DataBinder.Eval(Container.DataItem, "web_Text") %> " target="new">
<%# DataBinder.Eval(Container.DataItem, "web_Text") %>
</a><br/><strong>Note:</strong>
<%# DataBinder.Eval(Container.DataItem, "note") %>
<%# DataBinder.Eval(Container.DataItem, "data") %>
</ItemTemplate>
</asp:DataList>


I tag aspx inclusi in DataList popolano la pagina con i dati importati attraverso la funzione BindData() ovvero eseguono il databinding

http://www.experts-exchange.com
Note:Un portale di scambio e soluzioni
23/11/2002 16.55.17
www.fishscript.com
Note: Un grande web
23/11/2002 16.54.32
www.javaguru.com
Note: Web specializzato in tecnologie Java
11/23/2002 1:46:54

C#: inserimento dei dati Xml atraverso un web form

I web form sono oggetti lato server che generano in automatico elementi Html di tipo input come caselle di testo(TextBox), pulsanti di opzione(CheckBox), liste di selezione multipla (DropDownList), bottoni (Button). E' importante ricordare che una pagina web può contenere solo un form runat="server". Ecco dunque il codice relativo al web form.

<form runat="server" ID="Form2">
<strong>IndirizzoWeb*</strong><br /><i>(es. www.fishscript.com)</i>
<asp:TextBox id="Indirizzo" Runat= "server"/><br />
<asp:RequiredFieldValidator id="rfvIndirizzo" Runat="server" ErrorMessage="*Obbbligatorio" ControlToValidate="Indirizzo" Font-Bold= "True"/><br />
<strong>Note:</strong><br />
<asp:TextBox id="Note" TextMode="MultiLine" Columns="35" Rows="2" Runat= "server"/><br />
<asp:Button id="LinksPost" Text="Suggerisci un web" OnClick="LinksPost_Click" Runat="server" />
</form>


I tag TextBox definiscono i campi input dove l'utente immette i dati da inserire nel file xml.
Mentre RequiredFieldValidator definisce, nel nostro caso per l'Indirizzo web, l'obbligatorietà del dato. L'attributo ErrorMessage permette di definire il messaggio per l'utente in assenza di dato.
Il tag Button, come in html, crea il bottone con il testo Suggerisci un web, una volta premuto il pulsante, l'evento lancia la funzione LinksPost_Click(OnClick="LinksPost_Click").
La funzione LinksPost_Click si occupa di salvare i dati nel file links.xml.

void LinksPost_Click(Object sender, EventArgs e) {
// Costruzione oggetto documento xml (myXmlDocument)
System.Xml.XmlDocument myXmlDocument = new System.Xml.XmlDocument();

// Caricamento myXmlDocument
myXmlDocument.Load(Server.MapPath(xmlFileName));

// Costruzione nuovo elemento xml (myXmlElement) nomenclato come  "web"
System.Xml.XmlElement myXmlElement = myXmlDocument.CreateElement("web");

// Salvataggio del testo delle note nel relativo attributo dell'elemento
myXmlElement.SetAttribute("note", Server.HtmlEncode(Note.Text));

// Salvataggio della data nel relativo attributo dell'elemento
myXmlElement.SetAttribute("data", DateTime.Now.ToString());

// Valorizzazione del testo contenuto all'interno dell'elemento web
myXmlElement.InnerText = Server.HtmlEncode(Indirizzo.Text);

// Costruzione oggetto nodo (myXmlNode)
System.Xml.XmlNode myXmlNode = myXmlDocument.DocumentElement.FirstChild;

// Inserimento del nuovo nodo e salvataggio del file
myXmlDocument.DocumentElement.InsertBefore(myXmlElement, myXmlNode);
myXmlDocument.Save(Server.MapPath(xmlFileName));

// Re-bind dei dati dato che questi sono cambiati
BindData();
}


Costruito l'oggetto myXmlDocument e caricato il documento links.xml con: myXmlDocument myXmlDocument.Load(Server.MapPath(xmlPath)); viene creato un nuovo elemento xml, i tag sono denominati web System.Xml.XmlElement myXmlElement = myXmlDocument.CreateElement("web");

Infine vengono impostati e valorizzati gli attributi note e data:

myXmlElement.SetAttribute("note", Server.HtmlEncode(Note.Text));
myXmlElement.SetAttribute("data", DateTime.Now.ToString());


Si può notare che l'attributo note viene valorizzato dal campo Note del form, valore che attraverso Server.HtmlEncode() viene tradotto in htlm per garantire la conformità del file links.xml: ad esempio il carattere < viene codificato in &amp;lt;.
Mentre l'attributo data viene valorizzato attraverso la conversione in stringa del metodo Now di DateTime (DateTime.Now.ToString()).
Attraverso il metodo InnerText, il testo incluso nel nodo web diventa il link suggerito attraverso il form.

myXmlElement.InnerText = Server.HtmlEncode(Indirizzo.Text); Valorizzato la composizione del nuovo elemento, viene creato un nuovo nodo:

System.Xml.XmlNode myXmlNode = myXmlDocument.DocumentElement.FirstChild;


Il nuovo nodo viene inserito nel file con i valori assegnati:

myXmlDocument.DocumentElement.InsertBefore(myXmlElement, myXmlNode);

Per completare l'operazione occorre salvare il file xml aggiornato: myXmlDocument.Save(Server.MapPath(xmlPath));


Ed infine, viene aggiornata la lista dei link suggeriti:

BindData(); Dott. Marco Magnani DBA Tutorial






Downloads:
xlinks.zip ( 1 KB)


Warning: include(ads/text468x15.html): failed to open stream: No such file or directory in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131

Warning: include(): Failed opening 'ads/text468x15.html' for inclusion (include_path='.;C:\php\pear') in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131

Tutorial
Costanti   [C#] 
Enum   [C#] 
Array dichiarazione, inizializzazione, stampa  [C#] 
Array caricamento e stampa attraverso un ciclo for  [C#] 
Array bidimensionali rettangolari inizialiazzazione e stampa  [C#] 
Oggetti (Object) valorizzati con ArrayList, Double, string, proprietà GetType  [C#] 
ArrayList proprietà count, metodo Add, Remove  [C#] 
Jagged array dichiarazione e inizializzazione  [C#] 
Proprietà validare il dato attraverso le proprieta  [C#] 
Overloading creare metodi con lo stesso nome e diverse implementazioni  [C#] 
Programma di cassa da console Tutorial per illustrare l'applicazione di costrutti fondamentali di programmazione come variabili, funzioni condizionali if/then Select/case, cicli, funzioni, oggetti ArrayList Funzioni principali e secondari  [Visual basic.net] 
Array stampa attraverso costrutto for/each  [C#] 
Web controls and C# Sharp (Part II) Saving data in an Access database using a web form   [Asp.net] 
Datagrid Delevoping a simple and quick datagrid to publish query's results  [Asp.net] 
Impostare variabili d’ambiente con .NET Framework 1.1   [C#] 
Script
Controlli e validazione   [Asp.net] 
If Then Costrutti fondamentali  [Visual basic.net] 
Importazione dei namespace Regole sintattiche: importazione delle classi  [Visual basic.net] 
Costrutto If Then Else Costrutti fondamentali  [Visual basic.net] 
Gestione degli errori 1 Iniziare a gestire errori e eccezioni  [Visual basic.net] 
Gestione degli errori 2 Dimostrazione   [Visual basic.net] 
Gestione istruzioni condizionali Costrutto Select/case (Esempio Applicazione da Console)  [Visual basic.net] 
HelloWorld! Iniziare con Visual Basic .Net  [Visual basic.net] 
Intercettare Input da Console Semplice esempio iterazione con l'utente  [Visual basic.net] 
Semplice programma da "console" Iniziare con Visual Basic .Net  [Visual basic.net] 
Leggere Input da Console Iniziare con Visual Basic .Net  [Visual basic.net] 
Lettura di un file di testo Operazioni sul file system: stream di un file e lettura del suo contenuto  [Visual basic.net] 
Lettura di un file Xml con l'oggetto XmlTextReader Parsing di file Xml attraverso i metodi dell'oggetto XmlTextReader  [Visual basic.net] 
Oggetto Date Stampare la data odierna  [Visual basic.net] 
Overloading accesso ad una funzione a secondo del tipo di valore Concetti di base  [Visual basic.net] 
Esercizi
Disegna alcuni tra i più utilizzati controlli di una form Costruire e compilare un form con il Designer di Visual Basic  [Visual basic.net] 
Cicli e operazioni su filesystem Attraverso un ciclo while creare quattro file .txt denominati 4 e i suoi quadrati (4.txt,16.txt,128.txt,2048.txt)  [Visual basic.net] 
File System Data una cartella esegue un copia di tutti i file ivi contenuti  [Visual basic.net] 
Comandi
Ricavare nome e percorso di un'applicazione   [C#] 
Postgres database uptime Last time database has been started (or restarted)  [.Net] 

signal Marco Magnani marcomagnani@fishscript.com



Cerca





Il web è un giovane media: infatti ha solo 10 anni di età.
Si pensi alla televisione o al cinema all'età di 10 anni. A quei tempi questi media erano primitivi, ancora alla ricerca della loro strada. Venivano esplorati i limiti della nuova tecnologia, ma grandi progressi dovevano ancora essere raggiunti.
Oggi, i professionisti del web si trovano nella stessa fase. Sono pionieri che stanno ancora esplorando i limiti del nuovo media. Senza dubbio, i nostri nipoti, quando vedranno quello che abbiamo fatto pensaranno a qualcosa di elementare.
C'è ancora molto da scopire su quello che il Web può fare e suo come può essere utilizzato.
Jason Foss


Il web è un giovane media: infatti ha solo 10 anni di età.
Si pensi alla televisione o al cinema all'età di 10 anni. A quei tempi questi media erano primitivi, ancora alla ricerca della loro strada. Venivano esplorati i limiti della nuova tecnologia, ma grandi progressi dovevano ancora essere raggiunti.
Oggi, i professionisti del web si trovano nella stessa fase. Sono pionieri che stanno ancora esplorando i limiti del nuovo media. Senza dubbio, i nostri nipoti, quando vedranno quello che abbiamo fatto pensaranno a qualcosa di elementare.
C'è ancora molto da scopire su quello che il Web può fare e suo come può essere utilizzato.
Jason Foss




Oracle... Definizioni: Set di caratteri (Characterset)





fishScript.Com is accessible by Mobile access technology as mobile phones, Palm and Pocket PC .

Nicoleta e Marco Magnani tutorial, examples, courses, esempi, corsi, esercizi, appunti vari Dottoressa Nicoleta Dragu Formatrice Docente Insegnante Mediatrice Culturale Dott. Marco Magnani Universita La Sapienza Roma Master Computer Science Hunter College New York , Data Base Administrator DBA oracle System architect

Last modified: 2017-11-30 amministratore@fishscript.comNico and Marco Magnani Software Production
Home|About this Site © 2003-2008 www.fishScript.com ®