Veja a disponibilidade de registro de um domínio:

  • www.
  • suporte / windows

ASP.net

O ASP.Net é a nova versão de Active Server Pages, desenvolvida pela Microsoft. Nessa arquitetura, todos os aplicativos (inclusive os do Office) são desenvolvidos em cima de módulos chamados de "assemblies", que são semi-compilados.


Na hora da execução dos módulos (assemblies), a compilação é completada por um software chamado (CLR) Common Language Runtime.


Esse software CLR não roda apenas sob Windows. Dessa forma é possível ter ASP.Net para Linux, Solaris e outros sistemas operacionais. Outra característica é que uma aplicação pode ser desenvolvida com linguagens que tenham as sintaxes de VB, Delphi, PERL, Visual C++, COBOL entre outras.


Todas elas usam a mesma biblioteca chamada ".NET Base Class Library" onde há recursos para acessar base de dados, criação de interfaces gráficas para o usuário e até mesmo a criação de páginas dinâmicas para Internet (o que era chamado de ASP).


Na Digiweb, o que interessa é a criação de páginas dinâmicas em seu site. Abaixo, seguem alguns exemplos do que pode ser feito com o ASP.Net.

Antes, uma explicação sobre um arquivo importante, chamado web.config:


O web.config serve para configurar sua aplicação de diversas formas. Você deve criar e colocar esse arquivo no diretório htdocs de sua conta.


1) Configurar elementos de segurança (autenticação, autorização)


2) Cultura da aplicação:

<globalization culture="pt-BR" uiCulture="pt-BR" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" fileEncoding="iso-8859-1" />

No exemplo acima a configuração está ajustada para o Brasil. Dessa forma, não haverá problemas com acentuação e formato de data.


3) Personalização global:

<appSettings >
<add key="nomeBanco" value="Digiweb"></add>
</appSettings>


No exemplo acima é criada uma propriedade chamada nomeBanco com o valor já definido, chamado Digiweb.

No código da página ASP.Net, o valor é obtido através do comando:

ConfigurationSettings.AppSettings("nomeBanco")


ASP.Net e Bancos de Dados:

Abaixo há exemplos de conexão a SQL Server, a MS-Access e a banco de dados com DSN, respectivamente.


SQL:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLClient" %>

<html>
<head>
<title>Exemplo de conexão com base de dados SQL com ADO.NET</title>
<script language="vb" runat="server">

Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim objConn as New SQLConnection("Server=xxx;Database=xxx;UID=xxx;PWD=xxx;")
objConn.Open

Dim strSQL as String = "select * from xxx"
Dim dCommand as New SQLCommand(strSQL, objConn)

Dim dReader as SQLDataReader
dReader = dCommand.ExecuteReader(CommandBehavior.CloseConnection)
dGrid.DataSource = dReader
dGrid.DataBind()
objConn.Close()
dReader.Close()

End Sub

</script>
</head>
<body>

<p><asp:DataGrid ID="dGrid" Runat="server" /></p>

</body>
</html>

<%@ Import Namespace="System.Data.OleDb" %>

<html>

<head>



MS-Access:



<title>Exemplo de conexão a um banco de dados Access com ADO.NET</title>

<script language="vb" runat="server">
Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim objConn as New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;uid=xxx;pwd=xxx;data source=" & server.mappath("xxx.mdb"))
objConn.Open

Dim strSQL as String = "select * from xxx"
Dim dCommand as New OleDbCommand(strSQL, objConn)

Dim dReader
dReader = dCommand.ExecuteReader()
dRepeater.DataSource=dReader
dRepeater.DataBind()
dReader.Close()
objConn.Close()

End Sub

</script>
</head>
<body>

<form runat="server">

<asp:Repeater id="dRepeater" runat="server">

<HeaderTemplate> <table border="1" width="100%">
<tr>
<th>Test Field 1</th>
<th>Test Field 2</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("testfield1")%></td>
<td><%#Container.DataItem("testfield2")%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>

</form>
</body>
</html>




DSN:

<%@ Page CompilerOptions='/R:"C:\Caminho_Para_o_arquivo_ODBC_do_.Net\Microsoft.NET\Odbc.Net\Microsoft.data.odbc.dll"'%>
<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="Microsoft.Data.Odbc" %>

<HTML>
<HEAD>

<script language="vb" runat="server">

Sub Page_Load(Source as object, e as EventArgs)

Dim sConString As String = "DSN=Nome_do_DSN;UID=;PWD=;"

Dim oConnection as ODBCConnection = new ODBCConnection(sConString)
Dim sSQL as String = "select TOP 30 * from tabela_teste"

Dim oDataAdapter as ODBCDataAdapter = New ODBCDataAdapter(sSQL, oConnection)
Dim oDataSet as DataSet = new DataSet()

oDataAdapter.Fill(oDataSet)
oDataGrid.DataSource = oDataSet
oDataGrid.DataBind()

End Sub

</script>
</head>
<body><ASP:DataGrid ID="oDataGrid" Runat="server" /></BODY>

</HTML>



ASP.Net e Upload de arquivos:

Abaixo, segue um exemplo de um arquivo com a extensão .aspx, que contém a lógica da programação. Também mostramos o arquivo web.config.



ASPx:

<%@ Import namespace="System.IO"%>

<html>
<head>
<title>Exemplo de Upload de Arquivo</title>
<script language="VB" runat="server">

Dim savePath As String = "d:\web\seulogin\htdocs\upload\"

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' O item Upload_Click handler primeiro se certifica de que a propriedade PostedFile de
' HtmlInputFile está setada como não sendo "Nothing" e obtém o nome do arquivo, o content
' type e o content length. Ele compara o arquivo propriamente dito com os atributos antes de
' fazer o upload.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Upload_Click(source As Object, e As EventArgs)
If Not (uploadedFile.PostedFile Is Nothing) Then
Try
Dim postedFile = uploadedFile.PostedFile
Dim filename As String = Path.GetFileName(postedFile.FileName)
Dim contentType As String = postedFile.ContentType
Dim contentLength As Integer = postedFile.ContentLength
' Logo na linha de baixo permitimos arquivos que estejam somente no formato BMP para
' serem salvos no diretório de FTP. Você pode especificar outros formatos também.
if ContentType = "image/bmp" then
' Abaixo, setamos o limite de tamanho para menos de 2.000 Kbytes
if contentLength < 2000 then
' Faz upload do arquivo
postedFile.SaveAs(savePath & filename)
' Finaliza o upload com uma mensagem de sucesso
message.Text = "SUCESSO: " & filename & " uploaded<br>content type: " & contentType & "<br>content length: " & contentLength.ToString()
else
message.Text = "ERRO: O tamanho máximo deve ser de 2Mb."
end if
else
message.Text = "ERRO: Somente arquivos .BMP são permitidos"
end if
' Algum outro tipo de erro ocorreu: confira o caminho do diretório onde os arquivos deverão
' ser adicionados, permissões de gravação, etc.
Catch exc As Exception
message.Text = "ERRO: Falha ao subir o arquivo."
End Try
End If
End Sub

</script>
</head>

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Formulário de upload
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<body>

<form enctype="multipart/form-data" runat="server">
' Chamamos de "uploadedFile" abaixo, para o .Net obter o arquivo para upload.
Selecione o arquivo para upload: <input id="uploadedFile" type="file" runat="server">
' Botão de "submit" para o upload.
<p><input type=button id="upload" value="Upload" OnServerClick="Upload_Click" runat="server">
' Abaixo, um controle para mostrar mensagens vindas do gerenciador de eventos.
<p><asp:Label id="message" runat="server"/>
</form>
</body>

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
</html>





web.config:

O arquivo deve conter na seção de configuração o seguinte parâmetro:

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>



ASP.Net e Envio de e-mails:

Abaixo, segue um exemplo de como o ASP.Net pode enviar e-mails. O exemplo inclui manipulação de headers (cabeçalhos), envio de múltiplos arquivos anexados e utilização de servidores de SMTP externos.


<%@ Page Language="VB" Debug="true" %>

<% @Import Namespace="System.Web.Mail" %>

<%

Dim obj As System.Web.Mail.SmtpMail
Dim Attachment As System.Web.Mail.MailAttachment
Dim Mailmsg As New System.Web.Mail.MailMessage()

obj.SmtpServer = "smtp.seudominio.com.br"

Mailmsg.To = "nome@outrodominio.com.br"
Mailmsg.From = "Test <nome@seudominio.com.br>"
Mailmsg.Subject = "Envio de e-mails via .NET"

' Cabeçalhos customizados podem ser tratados da seguinte forma:

Mailmsg.Headers.Add("Reply-To", "outronome@seudominio.com.br")
Mailmsg.Headers.Add("Code123", "Value123")

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Aplicação de exemplo que usa o System.Web.Mail do .Net para enviar mensagens
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ...E-mail em formato de texto
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Mailmsg.BodyFormat = MailFormat.Text
Mailmsg.Body = "<h1>TESTE EM FORMATO TEXTO</h1> Você deve estar vendo somente texto nessa mensagem de teste."

obj.Send(Mailmsg)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ...E-mail em formato HTML
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Mailmsg.BodyFormat = MailFormat.Html
Mailmsg.Body = "<h1>TESTE HTML TEST</h1> Você deve estar vendo a mensagem em formato HTML."

obj.Send(Mailmsg)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ...E-mail com arquivos anexos
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Attachment = New MailAttachment("d:\web\seulogin\htdocs\teste1.html")
Mailmsg.Attachments.Add(Attachment)

Attachment = New MailAttachment("d:\web\seulogin\htdocs\teste2.html")
Mailmsg.Attachments.Add(Attachment)

Attachment = New MailAttachment("d:\web\seulogin\htdocs\teste1.jpg")
Mailmsg.Attachments.Add(Attachment)

Mailmsg.BodyFormat = MailFormat.Text
Mailmsg.Body = "Attachement Test - Você deve receber nesta mensagem 3 arquivos anexos."

obj.Send(Mailmsg)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' NOTA: Qualquer tentativa de sobrecarregar o método "Send" não retornarão um
' valor indicando sucesso no envio. Para o .NET, os e-mails são simplesmente gravados
' no diretório "Pickup" do servidor, de onde são lidos e enviados pelo serviço de SMTP
' do servidor. E-mails com erro são tratados do mesmo jeito, mas gravados no diretório
' "Badmail" de c:/inetpub/mailroot.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

response.write("Email Enviado.")

%>



ASP.Net e arquivos XML

O exemplo abaixo vai ler um arquivo XML chamado products.xml

<%@ Page %>
<%@ Import Namespace="System.Xml" %>
<script language="C#" runat="server">
public class ReadXmlFile {

string output = "";

public string ReadDoc(String doc)
{
string m_Document = doc;
XmlTextReader xmlReader = null;
try
{
xmlReader = new XmlTextReader(m_Document);
WriteXml(xmlReader);
}
catch (Exception e)
{
output += "Error Occurred While Reading " + m_Document + " " + e.ToString();
}
finally
{
if (xmlReader != null)
{
xmlReader.Close();
}
}
return output;
}

private void WriteXml(XmlTextReader xmlReader)
{
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
output += indent(xmlReader.Depth*4);
output += "<b><" + xmlReader.Name + "</b>";
while (xmlReader.MoveToNextAttribute())
{
output += " <i>" + xmlReader.Name + "=\"" +
xmlReader.Value + "\"</i> ";
}
if (xmlReader.IsEmptyElement)
{
output += "<b>/></b><br>";
}
else
{
output += "<b>></b><br>";
}
}
else if (xmlReader.NodeType == XmlNodeType.EndElement)
{
output += indent(xmlReader.Depth*4);
output += "<b></" + xmlReader.Name + "></b><br>";
}
else if (xmlReader.NodeType == XmlNodeType.Text)
{
if (xmlReader.Value.Length != 0)
{
output += indent(xmlReader.Depth*4);
output += "<font color=#ff0000>" + xmlReader.Value + "<br></font>";
}
}
}
}

private string indent(int number)
{
string spaces = "";
for (int i=0; i < number; i++)
{
spaces += " ";
}
return spaces;
}
}

private void Page_Load(Object sender, EventArgs e)
{
ReadXmlFile readXmlFileSample = new ReadXmlFile();
output.InnerHtml = readXmlFileSample.ReadDoc(Server.MapPath("products.xml"));
}

</script>
<html>
<head>Sample XML Parser</head>
<body><br><br><div id="output" runat="server"/></body>
</html>



Saiba mais sobre ASP.Net em: http://msdn.microsoft.com/netframework/



Caso queira mais detalhes, entre em contato conosco:



  • Digiweb | Hospedagem de sites
  • Todos os direitos reservados | 1996 / 2008