如何在ASP.NET非表单类文件中映射路径

如何在ASP.NET非表单类文件中映射路径,asp.net,Asp.net,我在Web表单代码隐藏类中使用了以下代码。我想在我的常规.cs文件中使用它:例如,在进行数据库调用时。但是,当我尝试在Web表单之外使用它时,在尝试与base.Request.ApplicationPath进行映射时,会出现以下错误:“object”不包含“Request”的定义。在Web应用程序项目中,映射到常规.cs类文件根目录的简单、正确的方法是什么 protected void LogError(string errMsg, string errTrace) {

我在Web表单代码隐藏类中使用了以下代码。我想在我的常规.cs文件中使用它:例如,在进行数据库调用时。但是,当我尝试在Web表单之外使用它时,在尝试与base.Request.ApplicationPath进行映射时,会出现以下错误:“object”不包含“Request”的定义。在Web应用程序项目中,映射到常规.cs类文件根目录的简单、正确的方法是什么

    protected void LogError(string errMsg, string errTrace)
    {
        string mailSubject = "oops!";
        string mailBody = errMsg + errTrace;

        System.Configuration.Configuration config
            = WebConfigurationManager.OpenWebConfiguration(base.Request.ApplicationPath);
        AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");

        // Extract values from the web.config file
        string toAddress = "me@gmail.com";
        string fromAddress = appSettings.Settings["FromEmailAddr"].Value;
        string emailHost = appSettings.Settings["EmailHost"].Value;

        mailProvider.SendMail(fromAddress, toAddress, mailSubject, mailBody.ToString());
    }

HttpContext.Current.Request.ApplicationPath。

您可以使用该类从
页面
类外部引用页面的当前实例

在您的情况下,您希望使用:

HttpContext.Current.Request
而不是:

base.Request
您可以使用该类从
页面
类外部引用页面的当前实例

在您的情况下,您希望使用:

HttpContext.Current.Request
而不是:

base.Request

您正在引用“base”,它在UI代码中引用了页面或UserControl对象。现在,您将其移出了该代码,新类不会从这些类中派生,因此您必须使用
HttpContext.Current.Request

您引用的是“base”,它在UI代码中引用了页面或UserControl对象。现在您已经将其移出了该代码,新类并不是从这两个类中派生的,因此您必须使用
HttpContext.Current.Request

这是一个很酷的gravatar!谢谢你的解决方案,约翰刚刚在帖子上击败了你:-)那是一个很酷的掘墓人!谢谢你的解决方案,约翰刚刚在帖子上击败了你:-)