asp

Mattepuffo's logo
Asp.NET LinkButton

Asp.NET LinkButton

In una pagina aspx ho un LinkButton con il quale attivo un evento.

La cosa più "problematica" è che devo passare il valore del LinkButton ad un altro componente.

In questo caso non bastano le solite proprietà Value o Text.

Andiamo con ordine; questo il componente nella pagina:

<asp:LinkButton ID="btn_art_singolo" runat="server" OnCommand="go_Click" CommandName='<%# DataBinder.Eval(Container.DataItem, "ARTICOLO") %>'>
   <%# DataBinder.Eval(Container.DataItem, "ARTICOLO") %>
</asp:LinkButton>

Il LinkButton sta dentro a un Repeater e prende il valore in maniera dinamica da database.

Tanto per cominciare no avremo un evento OnClick ma u nevento OnCommand.

Mattepuffo's logo
Esportare DataSet in Excel

Esportare DataSet in Excel

In un altro articolo ho spiegato come esportare una DataGridView in Excel.

Adesso vediamo come esportare un DataSet direttamente, in modo da renderlo indipendente dal componente dove visualiziamo i dati.

In questo caso, infatti, i dati vengono poi rappresentati su una pagina Asp.NET e il plugin jQuery DataTable, il che rende impossibile esportare i dati direttamente dal componente.

Dobbiamo quindi estrarli direttamente da un DataSet.

Prima di tutto dobbiamo avere un metodo che esegue la connessione e la query; tipo questo:

        public DataSet getSomething()
        {
            connection().Open();
            OdbcCommand cmd = new OdbcCommand();
            OdbcDataAdapter adapter = new OdbcDataAdapter();
            DataSet ds = new DataSet();
            cmd.CommandText = "SELECT * FROM somewhere";
            cmd.Connection = conn;
            adapter.SelectCommand = cmd;
            adapter.Fill(ds);
            ds.Dispose();
            conn.Close();
            return ds;
        }

Semplicemente ritorna un DataSet.

Mattepuffo's logo
Connessione a database Informix con C# e ODBC

Connessione a database Informix con C# e ODBC

Argomento che da quanto ho visto in giro è ancora molto in voga, anche se praticamente i databse Informix sono destinati a estinguersi.

Nel mio caso specifico devo creare un sito intranet per l'azienda in Asp.NET.

Il database del nostro gestionale è Informix.

Il che rende tutto più complicato.

Ma vediamo come fare.

Prima di tutto dovete scaricare e installare l'IBM Informix Client SDK.

Questo è indispensabile!!

Una volta installato provate a creare una connessione tramite ODBC; per farlo andate in Start -> Pannello di controllo -> Strumenti di amministrazione -> Origini dati (ODBC).

Se tutto vi funziona potete anche provare a creare una macro su Excel e vedere se estraete i dati in modo corretto.

Una volta fatto questo create il vostro progetto in Visual Studio.

Diciamo che la classe che andremo a creare può essere usata sia in progetti desktop che web.

Mattepuffo's logo
Leggere feed RSS in Asp.NET con XmlDataSource

Leggere feed RSS in Asp.NET con XmlDataSource

In un precedente articolo avevo parlato di come leggere in feed RSS usando Asp.NET e il C#.

Solo che ho notato che in alcuni casi quel metodo crea problemi e visto che non sono riuscito a risolvere ho usato un secondo metodo che adesso vi posto.

In questo caso non avremo bisogno del code-behind, ma solo di controlli server e tutto sarà fatto nella pagina Asp.NET.

Nello specifico useremo un XmlDataSource che prenderà i dati da una pagina web.

Questo XmlDataSource sarà il data-source di un altro controllo, un DataList.

Per andare a prendere i dati che ci servono useremo XPath.

Mattepuffo's logo
Leggere feed RSS in Asp.NET e C#

Leggere feed RSS in Asp.NET e C#

Necessità: mostrare i titoli degli utlimi articoli del mio blog (questo qua insomma) sul mio sito (MatteoFerrone.com).

Il sio è scritto in Asp.NET e C#, e oggi vi spiego come farlo.

Come al solito avremo bisogno di un pò di codice C# nel code-behind della pagina, e un pò di Asp.NET con i suoi controlli.

Cominciamo dalla prima parte:

public partial class Blog : System.Web.UI.Page
{
  protected string title;
  protected string desc;

  protected void Page_Load(object sender, EventArgs e)
  {
   DataSet ds = new DataSet("rss");
   ds.ReadXml("https://www.mattepuffo.com/site/index.php?format=feed&type=rss");
   title = ds.Tables["item"].Rows[0]["title"] as string;
   desc = ds.Tables["item"].Rows[0]["description"] as string;
   rss.DataSource = ds.Tables["item"];
   rss.DataBind();
  }
}

Le variabili protected (e non private perchè sennò non sarebbero raggiungibili sulla pagina) rappresentano i dati che vogliamo vedere: il titolo e la descrizione.

Sotto nel caricamento della pagina creiamo un DataSet dove immagazzinare i dati.

Mattepuffo's logo
Inviare email in C#

Inviare email in C#

Piccola guida su come inviare email in C#, anche se la libreria è molto facile da usare e non richiede particolare studio.

Sul mio sito in Asp.NET Web Form ho messo una tabella da riempire; al click sul bottone mi viene spedita una mail.

La tabella è questa:

 













ControlToValidate="TxtNome" SetFocusOnError="True" Font-Bold="True">












ControlToValidate="TxtEmail" SetFocusOnError="True" Font-Bold="True">


ControlToValidate="TxtEmail" ValidationExpression="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
Font-Bold="True">












ControlToValidate="TxtMessaggio" Font-Bold="True">








 

E l'evento richiamato è questo:

 

protected void send(object sender, EventArgs e)
{
SendEmail sm = new SendEmail();
sm.send(TxtEmail.Text, TxtMessaggio.Text, TxtNome.Text);
TxtEmail.Text = "";
TxtNome.Text = "";
TxtMessaggio.Text = "";
LblMessage.Text = "Mail inviata";
}

 

Fin qui nulla di particolare.