ASP.NET - 在类中如何使用 Server.MapPath

直接在类中使用 Server.MapPath 会出现错误,这是由于类中不能直接使用 System.Web.UI.Page 的非静态函数造成的。解决方法有两种:

方法一、为类增加继承

class CFoo : System.Web.UI.Page

方法二、利用上下文直接使用

System.Web.HttpContext.Current.Server.MapPath

在使用方法一时请注意:C#中,派生类只能从一个类中继承

方法二中,System.Web.HttpContext.Current 中 System.Web 是名称空间,HttpContext.Current 是类,HttpContext 封装有关个别 HTTP 请求的所有 HTTP 特定的信息,Current 表示当前 HTTP 请求。

如果我们引入名称空间 System.Web 了,则可以省略为 HttpContext.Current.Server.MapPath。

其实这里并不是只限于 Server.MapPath,还可以这样使用 Server 类的其它属性与方法,比如:Server.HtmlEncode(注意大小写)。

时间: 2024-10-17 22:12:40

ASP.NET - 在类中如何使用 Server.MapPath的相关文章

.NET CORE 2.0之 依赖注入在类中获取IHostingEnvironment,HttpContext

在.NET CORE 中,依赖注入非常常见, 在原先的 HttpContext中常用的server.Mappath已经么有了如下: HttpContext.Current.Server.MapPath("xx") 取而代之的是IHostingEnvironment 环境变量 可以通过依赖注入方式来使用,不过在大多数的情况下 我们需要在,类中使用,通过传统入的方式就不太合适,如下: 可以换一种方式来处理 新建一个类如下: public static class MyServiceProv

来篇文章:ASP。NET程序中动态修改web.config中的设置项目 (后台CS代码)

朋友们可以自行测试,我这里都没有问题了,鳖了一上午的问题总算解决了 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; usi

Server.MapPath是使用

本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath().作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径.其参数path为Web 服务器的虚拟路径,返回结果是与path相对应的物理文件路径.但有时参数并非为虚拟路径,而是用户自定义的文件名. Server.MapPath方法作用 MapPath方法用来返回与Web服务器上的指定虚拟路径相对应的物理文件路径. 语法Server.MapPath(pa

浅谈Server.MapPath和Request.PhysicalApplicationPath

很多人对它们都不陌生,在众多的WEB程序中,使用Server.MapPath和Request.PhysicalApplicationPath来操作目录/文件的几率参半,我曾经也经常混用,然而时间久了.发现Request.PhysicalApplicationPath有点“麻烦”?其实在一般的应用程序中,感觉不到两者的区别,而在一些存在“虚拟目录”.存在多级子目录.需要虚拟目录相互文件操作的站点中,就可以知道它们的区别了.我的总结如下: 1.相对当前路径的文件操作: 可以使用Server.MapP

Server.MapPath和Request.PhysicalApplicationPath的异同

很多人对它们都不陌生,在众多的WEB程序中,使用Server.MapPath和Request.PhysicalApplicationPath来操作目录/文件的几率参半,我曾经也经常混用,然而时间久了.发现Request.PhysicalApplicationPath有点“麻烦”?其实在一般的应用程序中,感觉不到两者的区别,而在一些存在“虚拟目录”.存在多级子目录.需要虚拟目录相互文件操作的站点中,就可以知道它们的区别了.我的总结如下:1.相对当前路径的文件操作:可以使用Server.MapPat

在asp.net 2.0中使用SqlBulkCopy类迁移数据

在asp.net 2.0中使用SqlBulkCopy类迁移数据 (转) http://jackyrong.cnblogs.com/archive/2005/08/29/225521.html 我们经常要在一个表中将数据迁移到另一个表,当然,用的方法十分多了.在.net 2.0中,提供了一个sqlbulkcopy类,也可以实现如下的操作,下面简单介绍下.比如一个表如下CREATE TABLE Person3( PersonID int IDENTITY(1,1) PRIMARY KEY, Name

asp中Server.MapPath的使用方法

老是忘记Server.MapPath的使用方法了,下面记录一下,以备后用: 总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径 1.Server.MapPath("/") 注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\. 2.Server.MapPath("./") 注:获得所在页面的当前目录,等价于Server.MapPath(""). 3.Server.MapPath(&qu

Asp.Net SignalR Hub类中的操作详解

Asp.Net SignalR Hub类中的操作详解 Hub类中的操作 在服务端我们要通过Hub类做一系列操作,下面就说说我们都可以做什么操作 客户端的发送消息操作 调用所有的客户端的helloClient方法 Clients.All.helloClient(); 调用除了给定ConnectionId的客户端之外的所有客户端的helloClient方法 Clients.AllExcept(Context.ConnectionId).helloClient(); 调用指定的connectionId

ASP.NET中Server.MapPath方法获取网站根目录

在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径,如D:\website\content这种形式.以下是一些Server.MapPath常用的获取网站目录的方法.(1)Server.MapPath("/") :获取网站的根目录(2)Server.MapPath(&qu