#58 - Salvare un file sul client con SaveFileDialog in Silverlight 3.0

Questo script è tratto dal capitolo 17 del libro Silverlight 3.0 - Guida Completa di Daniele Bochicchio, Cristian Civera, Alessio Leoncini e Marco Leoncini.
Acquista subito la tua copia ad un prezzo vantaggioso!
http://books.aspitalia.com/Silverlight-3.0/

All'interno di un'applicazione è molto facile avere esigenze leggermente diverse rispetto a quelle di un sito web multimediale, in cui si dà priorità all'impatto estetico ed al coinvolgimento dell'utente. È consuetudine, infatti, che un'applicazione dia la possibilità all'utente di memorizzare le informazioni che sta elaborando con l'applicazione, anche salvando i dati su file.

Dalla versione 3.0 di Silverlight abbiamo a disposizione l'oggetto SaveFileDialog, con il quale possiamo far scegliere il file di destinazione direttamente sul file system dell'utente, su cui saranno riversati i dati che vogliamo.

Esempio in VB.NET:

Dim _dialog As New SaveFileDialog() 
_dialog.Filter = "Tutti i file (*.*)|*.*| File di testo (*.txt)|*.txt" 
If _dialog.ShowDialog().Value Then 
  Dim _stream As Stream = _dialog.OpenFile() 
  Using _wr As New StreamWriter(_stream) 
    For Each item In DirectCast(ContactsDataSource.DomainContext, ContactsContext).Contacts 
       _wr.WriteLine([String].Format("{0}, {1}", item.FirstName, item.LastName)) 
    Next 
  End Using 
End If

Esempio in C#:

SaveFileDialog _dialog = new SaveFileDialog(); 
_dialog.Filter = "Tutti i file (*.*)|*.*| File di testo (*.txt)|*.txt"; 
if (_dialog.ShowDialog().Value) 
{ 
  Stream _stream = _dialog.OpenFile(); 
  using ( StreamWriter _wr = new StreamWriter(_stream)) 
  { 
    foreach (var item in ((ContactsContext)ContactsDataSource.DomainContext).Contacts) 
    { 
      _wr.WriteLine(String.Format("{0}, {1}", item.FirstName, item.LastName)); 
    } 
  } 
} 

Nell'esempio abbiamo coinvolto i dati gestiti da un data source per salvare una serie di record su un semplice file di testo.

IL CONTENUTO
SCRIPT VIA E-MAIL

Iscriviti alle nostre newsletter unoscript@lgiorno e Xcript per ricevere gli script via e-mail.

MEDIA
IN EVIDENZA
MISC