martedì 24 ottobre 2017

asp.net mvc Valore potenzialmente pericoloso Request.Form rilevato dal client

Nel caso si utilizzano tag html nelle pagine con uso di MVC verrà generato il seguente errore
"Valore potenzialmente pericoloso Request.Form rilevato dal client"

Per risolvere questo problema, andate nel file "Global.Asax" e nella definizione (f12 o dal menu di scelta rapida selezionare "Definizione") del metodo "RegisterGlobalFilters" aggiungete la seguente riga di codice

 filters.Add(new  ValidateInputAttribute(false));

A questo punto in tutte le pagine si potranno usare i tag html.

lunedì 23 ottobre 2017

Vba rilevare il codice Product ID di Windows 10

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/programmazione/art_vba-rilevare-il-codice-product-id-di-win_1556.aspx

In questo articolo, vedremo come rilevare il prodoct ID di Windows 10 (e precedenti) tramite il linguaggio di programmazione Visual Basic Application, da utilizzare nei vari applicativi del pacchetto Microsoft Office, sia Word, Excel Power point ed altri.
Premessa fondamentale, questo non vuole essere un articolo di hacking o altro, ma solo come poter rilevare il possibile codice di Windows, utile ai fini personali o per l’utilizzo di licenze del proprio applicativo.
Apriamo un qualsiasi programma di Microsoft Office nel nostro caso è stato utilizzato il programma di video scrittura Microsoft Word, ma possiamo utilizzare anche Excel.
A questo punto, tramite il menu “Sviluppo” oppure dal menu “Visualizza” selezioniamo il pulsante “Macro” e nella finestra che viene aperta, scriviamo il nome della macro in modo da poterla creare, oppure se c’è la voce “Editor Visual Basic Application” utilizziamo quella.
Dopo aver aperto la finestra relativo all’editor di Visual Basic, tramite la voce “Strumenti” selezioniamo la voce “Riferimenti” Verrà visualizzata una finestra come riportato in figura 1, nel quale dovremmo selezionare la voce “Microsoft Scripting runtime” mettendo la spunta e confermando il tutto tramite il pulsante “OK”.

Figura 1 – La finestra dei riferimenti con il componente selezionato

A questo punto sopra ogni dichiarazione, scriviamo la dichiarazione per obbligare la dichiarazione delle variabili.
Quindi in alto sopra ad ogni dichiarazione scriviamo il seguente frammento di codice.

Option Explicit

Ora scriviamo la funzione, che ci restituisce il codice del product key del nostro Windows, tramite un algoritmo, che in base a certi valori e posizioni rileva le informazioni.
La funzione è la seguente.

 Function ConvertiChiave(Chiave As Variant)
Const ChiaveOffset = 52
Dim contatore As Integer
Dim ChiaveRilevata As String
contatore = 28
Dim Caratteri As String
Caratteri = "BCDFGHJKMPQRTVWXY2346789"
Dim PosCorrente As Integer
Dim Indice As Integer
Do
PosCorrente = 0
Indice = 14
Do
PosCorrente = PosCorrente * 256
PosCorrente = Chiave(Indice + ChiaveOffset) + PosCorrente
Chiave(Indice + ChiaveOffset) = (PosCorrente \ 24) And 255
PosCorrente = PosCorrente Mod 24
Indice = Indice - 1
Loop While Indice >= 0
contatore = contatore - 1
ChiaveRilevata = Mid(Caratteri, PosCorrente + 1, 1) & ChiaveRilevata
If (((29 - contatore) Mod 6) = 0) And (contatore <> -1) Then
contatore = contatore - 1
ChiaveRilevata = "-" & ChiaveRilevata
End If
Loop While contatore >= 0
ConvertiChiave = ChiaveRilevata
End Function


Ora non ci resta che creare la funziona di tipo sub, che verrà chiamata dall’esecuzione della Macro, per richiamare tale funzione, passando come parametro, il valore rilevato nella chiave del registro di Windows.

 Sub RilevaProductID()
On Error GoTo errore
Dim WscriptShell As Object
Set WscriptShell = CreateObject("WScript.Shell")
Dim risultato As String
risultato = ""
risultato = ConvertiChiave(WscriptShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
MsgBox ("Il codice è: " & risultato)
Exit Sub
errore:
MsgBox (Err.Description)
End Sub




 Come si è visto dal frammento di codice precedente tramite il metodo RegRead dell’oggetto shell di wsscript, rileviamo il dato presente nel file di registro di Windows e lo passiamo alla funzione con l’algoritmo che calcola il product ID.

Conclusioni

L’articolo ha voluto fornire una tecnica per rilevare il codice ID di Windows, utile ai fini di realizzare e distribuire applicazioni che girano nei singoli client, permettendo così che ogni software ha una sua licenza.
Le potenzialità offerte dal linguaggi Vba, che da diversi anni accompagnano il pacchetto Microsoft Office, permettono di aggiungere ulteriori funzionalità.

domenica 22 ottobre 2017

free ocr online tools

OCR.Space Online OCR API Logo

Nuovo ed interessante strumento on line per rilevare il testo dalle immagini, strumenti chiamati propriamente OCR.

Il sito Ocr Space, visibile qui https://ocr.space/  fornisce una funzionalità molto semplice ed avanzata, dopo aver selezionato il file immagini in cui estrae il testo ed impostato la lingua del testo, tramite il pulsante "Start Ocr" eseguirà il rilevamento del testo.
Inoltre è possibile vedere l'anteprima dell'immagine.

Un sito molto potente ed efficiente, che consiglio l'utilizzo, è inclusa anche la lingua italiana.

sabato 21 ottobre 2017

Sito per la verifica delle firme digitali dei notai italiani

vai alla Homepage

Come riportato dal sito ufficiale dei notai italiani, qui https://ca.notariato.it/introduzione.asp è possibile utilizzare gratuitamente lo strumento on line messo a disposizione dal consorzio nazionale dei notariato, qui http://vol.ca.notariato.it/ per verificare se la firma digitale è valida.
Per maggiori informazioni visitate il sito indicato.

venerdì 20 ottobre 2017

free download ebook ASP.NET Webhooks

ASP .NET Webhooks Succinctly

Dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/ASPNET_Webhooks_Succinctly  potete scaricare un ebook sulla tecnologia Asp.Net in lingua inglese in formato Pdf o per dispositivi mobile.
Per il download e maggiori informazioni visitate il sito indicato.

giovedì 19 ottobre 2017

Evento gratuito Red Hat Open Source Day 2017

Red Hat Open Source Day logo

Un grande evento, il più importante in ambito Open Source, parliamo del Red Hat Open Source Day 2017, che si terrà anche quest'anno nelle città di Milano e Roma, nel mese di novembre.
Tante le sessioni, i gadget, i premi ma soprattutto la formazione gratuita in questa giornata speciale.
Tanti i tempi affrontati, sistemi operativi, cloud, sviluppo e casi reali di aziende che hanno implementato e sviluppato soluzioni open source.

La partecipazione all'evento è gratuita previa registrazione dal seguente sito https://www.redhat.com/it/events/red-hat-open-source-day-italia dove si può consultare l'agenda, il luogo ed altre informazioni utili.



mercoledì 18 ottobre 2017

Tabella codice FaceId per icone Office

La tabella presente qui http://www.kebabshopblues.co.uk/2007/01/04/visual-studio-2005-tools-for-office-commandbarbutton-faceid-property/comment-page-1/  , riguarda i codici da applicare alle proprietà FaceId dei pulsanti, nel caso che si realizzano applicazioni per office, come per esempio l'aggiunta di un pulsante nella barra tramite VSTO.


martedì 17 ottobre 2017

.net Could not load file or assembly ' ' Tentativo di caricare un programma con un formato non corretto.

Quando si utilizzano più progetti, che siano dll, applicazioni web, o windows Application, può capitare che durante l'esecuzione del codice, visualizza un messaggio del tipo "Could not load file or assembly ' nome dll token....' Tentativo di caricare un programma con un formato non corretto" dovuto al fatto che si sta realizzando un'applicazione per un determinata piattaforma (64bit) mentre il riferimento alla dll è compilato in 32bit.
Per risolvere tale problema, compilare la dll per la piattaforma a 64bit ed aggiungerla al progetto.

lunedì 16 ottobre 2017

free ebook Xamarin.Forms

Xamarin.Forms Succinctly

Dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/Xamarin_Forms_Succinctly potete scaricare un ebook gratuito in lingua inglese, formato pdf o per dispositivi mobile, riguardante lo sviluppo di applicazioni XAMARIN.
Il libro è composto da circa 120 pagine.

domenica 15 ottobre 2017

c# convert byte array to stream

Il frammento di codice qui di seguito illustra una tecnica per convertire un array di byte in stream.

 Stream Objstream = new MemoryStream(byteArray);


sabato 14 ottobre 2017

VSTO Visual Studio 2013 Outlook 2016 Non è possibile eseguire il debug o avviare l'esecuzione di questo progetto perché non è installata la versione richiesta di Microsoft Office.

Se stiamo sviluppando applicazioni di tipo VSTO con l'ambiente di sviluppo Visual Studio 2013 per Outlook 2016, nel selezionare il modello componente per Outlook 2013, visualizza il seguente messaggio:
Non è possibile eseguire il debug o avviare l'esecuzione di questo progetto perché non è installata la versione richiesta di Microsoft Office.

Per superare questa situazione, dobbiamo aprire il file di progetto "NomeProgetto.csproj" e nella sezione "ProjectExtensions" nella riga del nodo "ProjectProperties" cambiare il valore "15" in "16" presente nel nodo "DebugInfoExeName"
Esempio:

DebugInfoExeName="#Software\Microsoft\Office\15.0\Outlook\InstallRoot\Path#outlook.exe"

Diventa

DebugInfoExeName="#Software\Microsoft\Office\16.0\Outlook\InstallRoot\Path#outlook.exe"



Dopo averlo modificato con un qualsiasi programma di testo, andate in Visual Studio, vi chiederà di aggiornare il file  confermate e rilanciate l'applicazione.

A questo punto potete eseguire la vostra applicazione.





venerdì 13 ottobre 2017

libri gratuiti sulla cucina

logo


Oggi segnalo un sito interessante, dove di volta in volta c'è la possibilità di scaricare gratuitamente dei ebook sulla cucina, il tutto in lingua italiana.
I libri sono in formato pdf, e si possono scaricare gratuitamente dal seguente sito http://www.libricette.eu/ebook-gratuiti.html

giovedì 12 ottobre 2017

Asp.Net MVC trasferire dati tra controller

Nel caso che vogliamo trasferire un dato tra un controller ad un altro, possiamo utilizzare l'oggetto TempData, impostando una chiave con un valore, questa classe manterrà temporaneamente il dato tra un controller ed un altro.
Infatti la presenza del valore è visibile solo all'interno della richiesta, una nuova richiesta farà si che il valore non sarà più presente.

Qui di seguito un esempio

  [HttpPost]
        public ActionResult Creazione(FormCollection collection)
        {
                    //Codice……..
             TempData["Chiave"] = "Valore";
return RedirectToAction("Modifica", "Doc", new { id = 10 });
         }


public ActionResult Modifica(string id)
        {
//Codice……..
  
string valore = TempData["Chiave"] as string;

       return View(“Dati”);

}

mercoledì 11 ottobre 2017

Asp.Net MVC html.actionlink open in new tab

Nel caso che vogliamo aprire una nuova pagina del browser in cui gira l'applicativo web, dobbiamo nel metodo actionlink, impostare il parametro "HtmlAttributes" il valore html target="_blank".

Qui di seguito un esempio.

@Html.ActionLink("TestoDaVisualizzare", "Index", "Home", new { "ValueRoute" }, new { target = "_blank" })



martedì 10 ottobre 2017

free ebook Asynchronous Programming

Asynchronous Programming Succinctly

Un ebook gratuito ed interessante sulla programmazione asincrona che fornisce interessanti spunti.
L'ebook Asynchronous Programming scaricabile qui https://www.syncfusion.com/resources/techportal/details/ebooks/Asynchronous_Programming_Succinctly è in formato pdf o per dispositivi mobile ed in lingua inglese.

lunedì 9 ottobre 2017

Evento sicurezza informatica

logo

Nuovo appuntamento per l'edizione 2017, del Cyber Summit, un evento gratuito ed aperto a tutti, sulla sicurezza informatica.

L'evento si terrà a Roma il 14 novembre 2017, ed offre interessanti spunti ed informazioni sull'attuale situazione della sicurezza informatica in Italia.
Per partecipare all'evento bisogna registrarsi al seguente sito http://www.cybersecurity360summit.it/ nel quale è presente anche l'agenda ed altre informazioni utili.

domenica 8 ottobre 2017

free ebook Java

Java Succinctly Part 1

Seconda parte dell'ebook sulla programmazione Java, nel quale affronta alcuni temi complessi.
L'ebook è gratuito, previa registrazione, in lingua inglese in formato pdf o per dispositivi mobili, si può scaricare dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/Java_Succinctly_Part_2 

sabato 7 ottobre 2017

Programma gratuito di video scrittura AbleWord


Slide #1

Se state cercando un programma gratuito di videoscrittura, AbleWord, può tornare al caso vostro.
Il programma scaricabile qui http://www.ableword.net/ è un software gratuito in lingua inglese che non richiede nessuna registrazione.
Un valido software di video scrittura, con interessanti funzionalità.


venerdì 6 ottobre 2017

WPF C# SendKeys.Send e SendKeys.SendWait

Nel caso che vogliamo eseguire un comando di tastiera, per esempio F5 nel caso che vogliamo aggiornare un browser, o F1 per aprire la guida, il tutto in ambiente Windows Presentation Foundation (WPF) tramite SendKeysWait possiamo inviare i comandi di tastiera.

Dopo aver aggiunto il riferimento a System.Windows.Forms, nella nostra applicazion WPF, useremo il metodo Sendkeywait per simulare un tasto.

Qui di seguito un esempio.

System.Windows.Forms.SendKeys.SendWait("{F5}");

giovedì 5 ottobre 2017

Postgresql rilevare lo stato delle connessioni ed attività sul database

Se state utilizzando il database Postgre, e tramite comando sql volete sapere lo stato delle connessioni ed altre informazioni utili sulle attività del database, tramite il seguente comando potete rilevare queste informazioni.
I record che presentano lo stato "Active" per la colonna "State" sono quelli in cui è attiva una connessione (tramite applicazione o console di PgAdmin).

select * from Pg_stat_activity

mercoledì 4 ottobre 2017

Programma agenda e calendario con avvisi myPortablePIM

Se state cercando un programma gratuito, che non richiede nemmeno l'installazione, il software MyportablePim, scaricabile qui http://www.myportablepim.com/it/home.html fornisce interessanti funzionalità.
Una vera e professionale agenda, con tanto di avvisi, e calendario. In lingua italiana e fatta molto bene.
Essendo il programma portable non richiede nessuna installazione.

Per maggiori informazioni ed altro, visitate il sito indicato.

martedì 3 ottobre 2017

.Net convertire file Jpg in Png

Il frammento di codice qui di seguito, illustra una tecnica di come convertire un file di tipo jpg in Png, per il linguaggio VB.Net e C#. Aggiungere lo spazio dei nomi System.Drawing


VB.Net

Dim imgDaConvertire As Image = Image.FromFile("D:\test.jpg")

        imgDaConvertire.Save("D:\test.png", System.Drawing.Imaging.ImageFormat.Png)

C#

Image imgDaConvertire = Image.FromFile(@"D:\test.jpg");

            imgDaConvertire.Save(@"D:\test.png", System.Drawing.Imaging.ImageFormat.Png);

lunedì 2 ottobre 2017

free ocr online

Oggi segnalo un tools molto interessante e di grande qualità da utilizzare online per rilevare il testo da file di tipo immagini.
Il sito https://www.onlineocr.net/ in lingua inglese, permette di estrapolare il testo presente in un file immagine, anche settando una delle lingue disponibili, tra cui l'italiano.
Un valido sito di tipo OCR.

domenica 1 ottobre 2017

Asp.Net forzare la modalità di Internet Explorer con la versione Edge

Nel caso che vogliamo dotare la nostra applicazione Asp.Net visibile in Internet Explorer in versione Edget, dobbiamo utilizzare il tag meta per forza tale visualizzazione.
Qui di seguito un esempio di codice da mettere dopo il tag head.

 meta http-equiv="X-UA-Compatible" content="IE=edge" />

sabato 30 settembre 2017

Free download TFS 2018 RC1

Come riportato dal seguente sito https://blogs.msdn.microsoft.com/bharry/2017/08/30/tfs-2018-rc1-is-available/ dal primo settembre è disponibile in versione RC1 la versione di Team Foundation Server 2018, il programma Microsoft per la gestione del codice sorgente.
Ricordo che essendo una versione RC, si consiglia l'installazione su una macchina di test e non di produzione o quella di uso comune.
Per il download e maggiori informazioni visitate il sito indicato.

venerdì 29 settembre 2017

free ebook Enterprise Application Patterns using Xamarin.Forms




Come riportato in questo post https://blogs.msdn.microsoft.com/dotnet/2017/08/25/xamarin-patterns/ che illustra alcuni aspetti e riferimenti interessanti sul mondo Xamarin, in particolare la segnalazione del sito per scaricare un ebook gratuito per lo sviluppo di applicazioni su Xamarin.forms.
L'ebook, è una guida che fornisce spunti e buone pratiche architetturali nella scrittura di applicazioni Xamarin.
Inoltre nel sito è presente la possibilità di scaricare un app di tipo e-commerce.

giovedì 28 settembre 2017

Asp.Net esportare un gridview in Excel o Word con immagine tramite vb.net e C#

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_aspnet-esportare-un-gridview-i-excel-o-w_1533.aspx


In questo articolo vedremo come tramite linguaggio di programmazione VB.Net e C#, esportiamo in un file di tipo Microsoft Excel o Microsoft Word il contenuto di una griglia o meglio controllo GridView in Microsoft Excel o Microsoft Word.
Apriamo Visual Studio e dopo aver selezionato il linguaggio di propri interesse, selezioniamo il progetto di tipo web.

Stesura del codice
A questo punto inseriamo nella pagina un controllo gridview, con due colonne di tipo boundfield ed una di tipo imagefield. Inseriamo anche due controlli di tipo button, che tramite l’evento click esportano in formato Word o in formato Excel, il contenuto della griglia.
Qui di seguito si riporta il markup html

 
 asp:GridView ID="GridView1" runat="server" CssClass="Gridview" AutoGenerateColumns="False">

                 HeaderStyle CssClass="headerstyle" />

                 Columns>

                     asp:BoundField HeaderText="Id" DataField="Id" />

                     asp:BoundField HeaderText="Nome" DataField="Nome" />

                    asp:ImageField DataImageUrlField="PercorsoImmagine" HeaderText="Immagine" ItemStyle-Height="15px" ItemStyle-Width="15px" />

                

                </Columns

 

            </asp:GridView

 

 

             asp:Button ID="BtnExcel" runat="server" Text="Excel" OnClick="BtnExcel_Click" />

             <asp:Button ID="BtnWord" runat="server" Text="Word" OnClick="BtnWord_Click" /

 Si passa in visualizzazione codice, nel quale andiamo a scrivere il codice per la valorizzazione della griglia e poi successivamente al click del pulsante, esportare i dati.
Scriviamo il codice che serve per il render della griglia o meglio quell’evento quando si deve esportare tramite response.write lo stream dati.


 
VB.Net

    Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)

 

    End Sub

 

C#

public override void VerifyRenderingInServerForm(Control control)

        {

        }




 Scriviamo ora la funzione che permette di caricare la griglia con dei dati, includendo anche delle immagini, che abbiamo aggiunto al nostro progetto.
Qui di seguito tali dichiarazione per entrambi i linguaggi.


 
VB.Net

Private Function GetDati() As DataTable

        Dim DttDati As New DataTable

        Dim ColonnaID As New DataColumn("ID")

 

        Dim ColonnaNome As New DataColumn("NOME")

        Dim ColonnaPercorsoImmagine As New DataColumn("PercorsoImmagine")

 

        DttDati.Columns.Add(ColonnaID)

 

        DttDati.Columns.Add(ColonnaNome)

        DttDati.Columns.Add(ColonnaPercorsoImmagine)

        Dim DtrRiga As DataRow = DttDati.NewRow()

        DtrRiga("ID") = 1

 

        DtrRiga("NOME") = "Emanuele"

        DtrRiga("PercorsoImmagine") = "http://localhost:60438/Logo1.jpg"

 

        DttDati.Rows.Add(DtrRiga)

        DtrRiga = DttDati.NewRow()

        DtrRiga("ID") = 2

 

        DtrRiga("NOME") = "Manuel"

        DtrRiga("PercorsoImmagine") = "http://localhost:60438/Logo2.png"

 

        DttDati.Rows.Add(DtrRiga)

        Return DttDati

    End Function

 

C#

private DataTable GetDati()

        {

            DataTable DttDati = new DataTable();

            DataColumn ColonnaID = new DataColumn("ID");

 

            DataColumn ColonnaNome = new DataColumn("NOME");

            DataColumn ColonnaPercorsoImmagine = new DataColumn("PercorsoImmagine");

 

            DttDati.Columns.Add(ColonnaID);

 

            DttDati.Columns.Add(ColonnaNome);

            DttDati.Columns.Add(ColonnaPercorsoImmagine);

            DataRow DtrRiga = DttDati.NewRow();

            DtrRiga["ID"] = 1;

 

            DtrRiga["NOME"] = "Emanuele";

            DtrRiga["PercorsoImmagine"] = "http://localhost:60438/Logo1.jpg";

 

            DttDati.Rows.Add(DtrRiga);

            DtrRiga = DttDati.NewRow();

            DtrRiga["ID"] = 2;

 

            DtrRiga["NOME"] = "Manuel";

            DtrRiga["PercorsoImmagine"] = "http://localhost:60438/Logo2.jpg";

 

            DttDati.Rows.Add(DtrRiga);

            return DttDati;

        }



 Nel load della pagina, scriviamo il codice che permette di valorizzare la griglia.
Qui di seguito tali dichiarazione.



VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        GridView1.DataSource = GetDati()

        GridView1.DataBind()

    End Sub

C#

 

  protected void Page_Load(object sender, EventArgs e)

        {

            GridView1.DataSource = GetDati();

            GridView1.DataBind();

        }


Scriviamo il codice per esportare i dati presenti nella griglia in un file Microsoft Excel comprese l’immagine.
Qui di seguito si riporta il codice da inserire nell’evento click del pulsante per l’esportazione del file in formato Excel.


VB.Net

Protected Sub BtnExcel_Click(sender As Object, e As EventArgs) Handles BtnExcel.Click

        Response.ClearContent()

        Response.Buffer = True

        Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", "Esempio.xls"))

        Response.ContentType = "application/ms-excel"

        Dim sw As New StringWriter()

        Dim htw As New HtmlTextWriter(sw)

        GridView1.AllowPaging = False

        GridView1.DataSource = GetDati

        GridView1.DataBind()

 

        GridView1.RenderControl(htw)

        Response.Write(sw.ToString())

        Response.[End]()

    End Sub

C#

  protected void BtnExcel_Click(object sender, EventArgs e)

        {

            Response.ClearContent();

            Response.Buffer = true;

            Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Esempio.xls"));

            Response.ContentType = "application/ms-excel";

            StringWriter sw = new StringWriter();

            HtmlTextWriter htw = new HtmlTextWriter(sw);

            GridView1.AllowPaging = false;

            GridView1.DataSource = GetDati();

            GridView1.DataBind();

 

            GridView1.RenderControl(htw);

            Response.Write(sw.ToString());

            Response.End();

        }


Nel caso che vogliamo esportarlo in formato Word, dobbiamo cambiare il valore nella proprietà ContentType, come riportato qui di seguito.


VB.Net

 

    Protected Sub BtnWord_Click(sender As Object, e As EventArgs) Handles BtnWord.Click

        Response.ClearContent()

        Response.Buffer = True

        Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", "Dati.doc"))

        Response.ContentType = "application/ms-word"

        Dim sw As New StringWriter()

        Dim htw As New HtmlTextWriter(sw)

        GridView1.AllowPaging = False

        GridView1.DataSource = GetDati()

        GridView1.DataBind()

 

        GridView1.RenderControl(htw)

        Response.Write(sw.ToString())

        Response.[End]()

    End Sub

C#

    protected void BtnWord_Click(object sender, EventArgs e)

        {

            Response.ClearContent();

            Response.Buffer = true;

            Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Dati.doc"));

            Response.ContentType = "application/ms-word";

            StringWriter sw = new StringWriter();

            HtmlTextWriter htw = new HtmlTextWriter(sw);

            GridView1.AllowPaging = false;

            GridView1.DataSource = GetDati();

            GridView1.DataBind();

 

            GridView1.RenderControl(htw);

            Response.Write(sw.ToString());

            Response.End();

        }


Conclusioni

L’articolo ha voluto illustrare una tecnica per esportare i dati presenti in un controllo gridview, con una colonna di tipo immagine in un file Word o Excel.
Tecnica che può rilevarsi utile in quelle applicazioni web per la gestione dei dati amministrativi e contabili.