Ciao community,
mentre studio sto provando a far diventare una pagina aspx in un custom control in quanto ho necessità del riutilizzo della stessa in altre pagine:
la pagina in questione scrive i dati di un form su DB ed invia una email di conferma
<code>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SQLClient" %>
<%@ import Namespace="System.Web.Mail" %>
<html>
<head>
<script runat="server">
Sub Page_Load(Src as object, E as EventArgs)
pnlConfirm.Visible = False
End Sub
Sub btnSave_OnClick(Src as object, E as EventArgs)
Dim strSQL as String
Dim objConnection as SqlConnection
Dim objCommand as SqlCommand
If Page.IsValid Then
strSQL = ""
strSQL = strSQL & "INSERT INTO Utente "
strSQL = strSQL & "(Nome, Indirizzo, Localita, Provincia, Regione, Nazione, Azienda, Telefono, Fax, Email) " & vbCrLf
strSQL = strSQL & "VALUES ("
strSQL = strSQL & "'" & Nome.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Indirizzo.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Localita.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Provincia.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Regione.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Nazione.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Azienda.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Telefono.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Fax.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & Email.Text & "'"
strSQL = strSQL & ");"
objConnection = New SqlConnection("Data Source=CETALFIO;" _
& "Initial Catalog=Form;User Id=test;Password=test;" _
& "Connect Timeout=15;Network Library=dbmssocn;")
objCommand = New SqlCommand(strSQL, objConnection)
objCommand.Connection.Open()
objCommand.ExecuteNonQuery()
objCommand.Connection.Close()
Try
Dim mail As New MailMessage
mail.From = "admin@email.com"
mail.To = "info@email.it"
mail.Subject = "Test invio ASP.NET"
mail.Body = "Prova invio da ASP.NET"
mail.BodyFormat = MailFormat.Html
mail.Priority = MailPriority.High
SmtpMail.SmtpServer="pop.dominio.it"
SmtpMail.Send(mail)
form1.visible = false
Catch exc As Exception
lblAvviso.Text = "Email non inviata a causa di un problema, riprova tra qualche secondo"
End Try
lblSQL.Text = strSQL
lblAvviso.Text = "Email inviata correttamente"
pnlConfirm.Visible = True
End If
End Sub
</script>
</head>
<body>
<form id="form1" summary="Form salva su DB e Invia Email" runat="server">
<table border="0">
<tbody>
<tr>
<td align="right">
<strong>Nome e cognome:</strong></td>
<td align="left">
<asp:TextBox id="Nome" runat="server" maxlength="10"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Indirizzo:</strong></td>
<td align="left">
<asp:TextBox id="Indirizzo" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Localita:</strong></td>
<td align="left">
<asp:TextBox id="Localita" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Provincia:</strong></td>
<td align="left">
<asp:TextBox id="Provincia" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Regione:</strong></td>
<td align="left">
<asp:TextBox id="Regione" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Nazione:</strong></td>
<td align="left">
<asp:TextBox id="Nazione" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Azienda:</strong></td>
<td align="left">
<asp:TextBox id="Azienda" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Telefono:</strong></td>
<td align="left">
<asp:TextBox id="Telefono" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Fax:</strong></td>
<td align="left">
<asp:TextBox id="Fax" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<strong>Email:</strong></td>
<td align="left">
<asp:TextBox id="Email" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button id="btnSave" onclick="btnSave_OnClick" runat="server" Text="Save To Database"></asp:Button>
</td>
</tr>
</tbody>
</table>
</form>
<asp:Panel id="pnlConfirm" runat="server">
<h2>Salvataggio andato a buon fine
</h2>
<p>
<strong>Questi i parametri passati:</strong>
</p>
<pre><asp:Label id="lblSQL" runat="server"></asp:Label></pre>
<p></p>
<pre><asp:Label id="lblAvviso" runat="server"></asp:Label></pre>
</asp:Panel>
</body>
</html>
</code>
Ora le teoria, che per il momento ho acquisito ;-), vorrebbe che creassi un file vb poi da compilare in DLL e collocare sulla \bin della directory interessata, che importi le classi che mi servono per l'occasione, dalla mia analisi dovrebbero essere, sto ancora studiandoci su,
<code>
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Collections.Specialized
</code>
una volta importate le classi dovrei definire il mio namespace, la mia classe come pubblica ed effettuare il rendering della pagina con <code>Protected Overrides </code>
una cosa tipo questa:
<code>
Namespace Cetalfio
Public Class ModuloDavide
Inherits control
Protected Overrides Sub Render(writer As HtmlTextWriter)
................
End Sub
End Class
End Namespace
</code>
ora rispetto allo script iniziale mi perdo sulle attività che devono essere svolte nella fase di render della pagina, qualche indicazione?
Grazie Cetalfio