代码如下,为什么会出错?
public class test
{
public void test()
{
OleDbConnection myCon;
myCon = new OleDbConnection((@"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=") + Server.MapPath(@"oledb\home.mdb"));
myCon.Open();
}
};

解决方案 »

  1.   

    Server.Mappath是用于web找服务器的虚拟路径的物理地址的!
      

  2.   

    那为什么在类的方法里用,为什么会出错呢?
    void Page_Load(Object sender , EventArgs e) 
    {
    OleDbConnection myCon;myCon = new OleDbConnection((@"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=") + Server.MapPath(@"oledb\home.mdb"));
    myCon.Open();
    myCon.Close();
    }
    而这样为什么不会出错呢?
      

  3.   

    编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0118: “System.Web.UI.Page.Server”表示“属性”,此处应为“类”源错误: 行 9:  {
    行 10: OleDbConnection myCon;
    行 11: myCon = new OleDbConnection((@"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=") + Server.MapPath(@"oledb\home.mdb"));
    行 12: myCon.Open();
    行 13: }
     
      

  4.   

    编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0118: “System.Web.UI.Page.Server”表示“属性”,此处应为“类”源错误: 行 9:  {
    行 10: OleDbConnection myCon;
    行 11: myCon = new OleDbConnection((@"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=") + Server.MapPath(@"oledb\home.mdb"));
    行 12: myCon.Open();
    行 13: }
     源文件: F:\www\mypage\admin.aspx    行: 11
      

  5.   

    我现在想知道的是Server.MapPath();方法怎么会出错?
    绝对路径是可以的,但我现在要用的是相对路径!
      

  6.   

    在网页的后台代码中使用 Server.MapPath 没问题,是因为所有的网页后台代码是从 Page 类继承的,而 Server 是 Page 类的一个属性,所以不会出错,而你在一个类中使用 Server 时,类中根本就不存在 Server 对象,所以就一定会出错的。
    在类中可以使用 HttpContext.Current.Server 来取得 Server 对象。
      

  7.   

    添加引用System.Web
    使用HttpServerUtility
    试试
      

  8.   

    Page 类继承Server.MapPath();再在类中继承Page 类
      

  9.   

    类里面用 HttpContext.Current.Server.MapPath();
      

  10.   

    谢谢各位了,在类中可以使用 HttpContext.Current.Server 来取得 Server 对象是可以的!
      

  11.   

    system.web.httpcontext.curent.server.mappath