未将对象引用设置到对象的实例(高手过目,急待解决)

uyou 2006-07-27 12:23:00
以下是源码:
if (System.Convert.IsDBNull(Session["user"]) || Session["user"].ToString().Trim() == "" || ((Session["user"].ToString().Trim() != System.Convert.ToString(Request["user"].Trim())) && ((System.Convert.ToString(Request["user"].Trim())) != "")) || ((Session["pwd"].ToString().Trim() != (System.Convert.ToString(Request["pwd"].Trim()))) && ((System.Convert.ToString(Request["pwd"].Trim())) != "")))
//if (Session["user"].ToString().Trim() != System.Convert.ToString(Request["user"].Trim()))
{
Session["user"] = (System.Convert.ToString(Request["user"]).Trim());
mycookie.Values.Add("userid", (System.Convert.ToString(Request["user"]).Trim()));
Response.AppendCookie(mycookie);
Session["pwd"] = (System.Convert.ToString(Request["pwd"]).Trim());
passcookie.Values.Add("pwd", (System.Convert.ToString(Request["pwd"])).Trim());
Response.AppendCookie(passcookie);
}


以下报错信息:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 68: if ((objdr[2].ToString().Trim()) != "")
行 69: {
行 70: if (System.Convert.IsDBNull(Session["user"]) || Session["user"].ToString().Trim() == "" || ((Session["user"].ToString().Trim() != System.Convert.ToString(Request["user"].Trim())) && ((System.Convert.ToString(Request["user"].Trim())) != "")) || ((Session["pwd"].ToString().Trim() != (System.Convert.ToString(Request["pwd"].Trim()))) && ((System.Convert.ToString(Request["pwd"].Trim())) != "")))
行 71: //if (Session["user"].ToString().Trim() != System.Convert.ToString(Request["user"].Trim()))
行 72: {


源文件: e:\workarea\产品\殡葬行业管理软件\殡仪馆\mis\bz_byg_mis\check.aspx.cs 行: 70

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
BZ_BYG_MIS.check.Page_Load(Object sender, EventArgs e) in e:\workarea\产品\殡葬行业管理软件\殡仪馆\mis\bz_byg_mis\check.aspx.cs:70
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731


...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knight94 2006-07-27
  • 打赏
  • 举报
回复
先不要使用ToString,先看看Session中是否存有user信息,
其次对于
System.Convert.ToString(Request["user"].Trim()))
这个操作来说是多此一举,直接用Request["user"].Trim()替换,不过你最好判断以下Request["user"]是否有效。

azurebz 2006-07-27
  • 打赏
  • 举报
回复
没看出来你到底什么错误,不过这类错误经常报,下面是摘的网上的错误原因,供参考。
小弟新来的,混点分,大家不要BS偶。
1、ViewState 对象为Null。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值
9、使用FindControl时,控件不存在却没有做预处理
10、重复定义造成未将对象引用设置到对象的实例错误.
Jackie 2006-07-27
  • 打赏
  • 举报
回复
有的是自己没有实例化,有的就是.net问题,具体问题具体分析了
Knight94 2006-07-27
  • 打赏
  • 举报
回复
to If IsDBNull(Session("user")) Or Session("user") = "" Or ((Session("user") <> Trim(CStr(Request("user")))) And (Trim(CStr(Request("user"))) <> "")) Or ((Session("pwd") <> Trim(CStr(Request("pwd")))) And (Trim(CStr(Request("pwd"))) <> "")) Then

Have a try!
if( Session( "user" ) == DBNull.Value ||
Session("user").ToString() == "" ||
(
( Session( "user" ).ToString() <> Request( "user" ).ToString().Trim() )
&&
( Request( "user" ).ToString().Trim() <> "" )
)
||
(
( Session( "pwd" ).ToString() <> Request( "pwd" ).ToString().Trim() )
&&
( Request( "pwd" ).ToString().Trim() <> "" )
)
)
winner2050 2006-07-27
  • 打赏
  • 举报
回复
If IsDBNull(Session("user")) Or Session("user") = "" Or ((Session("user") <> Trim(CStr(Request("user")))) And (Trim(CStr(Request("user"))) <> "")) Or ((Session("pwd") <> Trim(CStr(Request("pwd")))) And (Trim(CStr(Request("pwd"))) <> "")) Then
uyou 2006-07-27
  • 打赏
  • 举报
回复
to:Knight94(愚翁)

以下是我的监视:
Session["user"] != Request["user"] 错误: 无法计算表达式
Request["user"] != "" 错误: 无法计算表达式
Session["pwd"] != Request["pwd"] 错误: 无法计算表达式
此时Request["user"]确实是无效的

关键是下面这句怎么改写成c#(源码是vb的,断点调试通过的。可是写成c#后就不对了。)
If IsDBNull(Session("user")) Or Session("user") = "" Or ((Session("user") <> Trim(CStr(Request("user")))) And (Trim(CStr(Request("user"))) <> "")) Or ((Session("pwd") <> Trim(CStr(Request("pwd")))) And (Trim(CStr(Request("pwd"))) <> "")) Then

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧