none
Enviar formulário de e-mail Visual Studio RRS feed

  • 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)
            {
            }
                           
        }
    }

    terça-feira, 28 de outubro de 2014 01:46

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

    terça-feira, 28 de outubro de 2014 09:26
  • Bom dia,

    Poderia detalhar o erro?

    Abs.


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    terça-feira, 28 de outubro de 2014 10:21
  • 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.

    terça-feira, 28 de outubro de 2014 11:09
  • Veja na code-behind desta pagina, se a classe "AbrirChamado" herda da classe "Page"

    terça-feira, 28 de outubro de 2014 11:22
  • Então é isso, eu assumi que o que ele copiou é o MARKUP e o CODEBEHIND abaixo.

    Nele tem isso: "public partial class AbrirChamado : System.Web.UI.Page". Porém é "PARTIAL".

    quarta-feira, 29 de outubro de 2014 11:07
  • Conseguiu a solução para o problema?
    segunda-feira, 3 de novembro de 2014 19:56
  • Caso tenha conseguido a solução finalize sua Thread marcando a resposta

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    domingo, 28 de junho de 2015 15:03
  • 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
    segunda-feira, 27 de julho de 2015 11:32