主题:ASP.NET中的自定义类
ylxzf
[专家分:0] 发布于 2007-03-14 14:55:00
在ASP.NET中,在自定义的类中,为什么不能使用Server对象及其方法?
谢谢!!!
回复列表 (共9个回复)
沙发
windstore [专家分:830] 发布于 2007-03-14 16:08:00
由于类中没有继承Page类,所以无法使用Server.MapPath()功能 因此要实现这个功能,首先要引用System.Web名字空间,using System.web;
然后使用下面的方法就可以得到路径~
String strPath = System.Web.HttpContext.Current.Server.MapPath();
板凳
ylxzf [专家分:0] 发布于 2007-03-14 16:16:00
导入命名控件之后还是不行!这是怎么回事???
急!!!
3 楼
jzyray [专家分:20610] 发布于 2007-03-14 20:06:00
最简单的方法:
继承Page类
4 楼
windstore [专家分:830] 发布于 2007-03-14 20:14:00
不会把 你把代码贴出来~
5 楼
ylxzf [专家分:0] 发布于 2007-03-15 08:39:00
[color=0000FF]using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// DB 的摘要说明
/// </summary>
///
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection creatOleDB()
{
OleDbConnection con=new OleDbConnection ("Provider=Microsoft.Jet.OLeDb.4.0; Data Source="+ Server.MapPath("/DB/db1.mdb"));
return con;
}
}[/color]
[color=FF0000]顺便请帮我看看连接字符串是否正确,谢谢![/color]
6 楼
windstore [专家分:830] 发布于 2007-03-15 09:30:00
[em8]
7 楼
windstore [专家分:830] 发布于 2007-03-15 09:38:00
可以像 jzyray说的那样,直接继承page类:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// DB 的摘要说明
/// </summary>
///
public class DB:System.Web.UI.Page //这里。。。。。。。。。
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection creatOleDB()
{
OleDbConnection con=new OleDbConnection ("Provider=Microsoft.Jet.OLeDb.4.0; Data Source="+ Server.MapPath("/DB/db1.mdb"));
return con;
}
}
或者:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// DB 的摘要说明
/// </summary>
///
public class DB
{
public DB()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection creatOleDB()
{
OleDbConnection con=new OleDbConnection ("Provider=Microsoft.Jet.OLeDb.4.0; Data Source="+ System.Web.HttpContext.Current.Server.MapPath("/DB/db1.mdb"));
return con;
}
}
8 楼
ylxzf [专家分:0] 发布于 2007-03-15 14:43:00
谢谢,System.Web.HttpContext.Current.Server.MapPath()这样就不报错了!!!
但是现在在
try
{
}
[color=FF0000]catch (exception e)[/color]
{
}
的红色部分报错如下:
[color=0000FF]“/OleDbCon”应用程序中的服务器错误。
--------------------------------------------------------------------------------
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0246: 找不到类型或命名空间名称“exception”(是否缺少 using 指令或程序集引用?)
源错误:
行 54: return true;
行 55: }
行 56: catch (exception e)
行 57: {
行 58: return false;[/color]
请问需要导入什么命名空间?谢谢!!!
9 楼
windstore [专家分:830] 发布于 2007-03-15 17:22:00
catch (exception e) //应该是 catch (Exception e)
我来回复