【问题标题】:Error 4 A namespace cannot directly contain members such as fields or methods错误4 命名空间不能直接包含字段或方法等成员
【发布时间】:2014-11-27 07:11:39
【问题描述】:

我应该在课堂上做一个项目,我必须使用 C# 和 ASP.NET 从头开始​​设置一个网站。

我的目标是在这种情况下创建一个联系表单,其功能是在单击我尝试通过谷歌搜索代码创建的按钮时向指定地址发送电子邮件。 但是,我遇到了错误,“命名空间不能直接包含字段或方法等成员。”

有人可以帮忙吗? 提前致谢!

我在页面上使用的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

<%@Import Namespace="System.Web.Mail" %>;
<script language="c#" runat="server">;



public partial class ContactUs : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }


    protected void Button1_Click(object sender, EventArgs e)
    {

        MailMessage msg = new MailMessage();

        msg.To = "sarahhhhh@gmail.com";
        msg.From = nameTB.text;
        msg.Subject = subjectTB.text;
        msg.Body = messageTB.text;
        lblStatus.Text = "Sending...";

        SmtpMail.Send(msg);
        lblStatus.Text = "Sent email (" + txtSubject.Text + ") to " + txtTo.Text;
    }
}

【问题讨论】:

  • 这是代码隐藏文件还是 aspx 文件?
  • (我强烈建议使用代码隐藏而不是将所有 C# 放在 .aspx 文件中......)
  • 看起来像 import 指令中的 aspx,但写成 CS(开头使用 using...您需要确定它是什么类型的文件并坚持给定类型的语法。跨度>
  • 您好,这是一个 aspx.cs 文件。对不起,我不太明白你所说的代码隐藏文件是什么意思,你能更详细地解释一下吗?
  • 使用 System.Web.Mail 添加;并删除 ;

标签: c# asp.net email


【解决方案1】:

删除这些行:-

<%@Import Namespace="System.Web.Mail" %>;
<script language="c#" runat="server">;
</script> //If it's present

并在顶部添加using System.Web.Mail;,就像包含其他命名空间一样。你这个带有aspx.cs文件扩展名的文件被称为代码隐藏文件,你应该先阅读基础知识。参考this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多