Inquiridor
Enviar formulário de e-mail Visual Studio

Pergunta
-
Gostaria que alguém me ajudasse neste código abaixo. Esta aparecendo a seguinte mensagem quanto esta sendo compilado. "
Mensagem de Erro do Analisador: 'Chamado.AbrirChamado.aspx' não é permitido aqui porque não estende a classe 'System.Web.UI.Page'."
AbrirChamado.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AbrirChamado.aspx.cs" Inherits="Chamado.AbrirChamado.aspx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form>
<fieldset id="usuario"><legend>Identificação do Usuário</legend>
<p>Nome: <input type="text" name="tNome" id="cNome" size="20"/></p>
<p><label for="email">Email:</label>
<input type="text" id="email" size="40"/></p>
</fieldset>
<fieldset id="mensagem"><legend>Mengsaem do Usuário</legend>
<p><label for="cMsg">Mensagem:</label></p>
<textarea name="tMsg" id="cMsg" cols="45" rows="5" placeholder="Deixe aqui sua mensagem"></textarea>
</fieldset>
<input type = "submit" value="Salvar" onclick="Salvar_Click"/>
</form>
</body>
</html>
AbrirChamado.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Net.Mail;
public partial class AbrirChamado : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Salvar_Click(object sender, EventArgs e)
{
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587 /*TLS*/);
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("usuário email", "senha");
MailMessage msg = new MailMessage();
msg.From = new MailAddress("crcservicedesk@gmail.com");
msg.To.Add(new MailAddress("rhribeiro13@gmail.com"));
msg.Body = "Teste";
try
{
smtp.Send(msg);
}
catch (Exception ex)
{
}
}
}
Todas as Respostas
-
Bom dia,
Mas ele ão gera nenhum erro, depois que você roda ele somente aparece esse aviso?
Esse seu código ele pega um arquivo de algum lugar e envia por email é isso?
Att,
Ricardo Cortes Microsoft Contingent Staff
Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.
MSDN Community Support
-
-
Kra (e vou te chamar assim pq seu nome é igual ao post.. rs), esse código que você passou mostra uma PARTIAL class.
Eu imagino que exista uma "public class" declarada em algum lugar certo? Pq veja, se você tiver apagado o arquivo "AbrirChamado.aspx.designer.cs" (que é onde NORMALMENTE fica a declaração "PARTIAL") e o arquivo "AbrirChamado.aspx.cs" é onde costuma ficar o "PUBLIC CLASS".
Em resumo, uma classe com declarações "PARTIAL" precisa ter uma declaração que NÃO seja PARTIAL em outro documento. Se você só tem a partial, a classe não é construída.
-
-
-
-
-
Kra, vou me corrigir.
O erro está no MARKUP.Na parte aonde você coloca isso:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AbrirChamado.aspx.cs" Inherits="Chamado.AbrirChamado.aspx" %>
Na verdade não deveria haver ".aspx" no "Inherits". É apenas O NOME DA CLASSE TOTALMENTE QUALIFICADO (ou seja, desde o primeiro NAMESPACE). Então se a classe está dentro no namespace "Chamado", seria:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AbrirChamado.aspx.cs" Inherits="Chamado.AbrirChamado" %>
Só isso já funciona.
- Sugerido como Resposta SammuelMiranda segunda-feira, 27 de julho de 2015 11:32
- Editado SammuelMiranda sexta-feira, 11 de setembro de 2015 13:57 pontuação