Private  Sub  Page_Load(ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  MyBase.Load  
               'If  Session("lc_stat")  =  ""  Then  
               '        Response.Redirect("login.aspx")  
               'End  If  
               Dim  scriptstring  As  System.Text.StringBuilder  =  New  System.Text.StringBuilder  
               scriptstring.Append("<script  language=javascript>")  
               scriptstring.Append("function  save_ok(){")  
               scriptstring.Append("return  confirm('此商品没有图片,是否要继续保存?');}")  
               scriptstring.Append("</script>")  
               Dim  js  As  String  =  scriptstring.ToString  
               If  (Not  IsClientScriptBlockRegistered("save_ok"))  Then  RegisterClientScriptBlock("save_ok",  js)  
               Button5.Attributes.Add("onclick",  "return  save_ok()")  
End  Sub  
 
Private  Sub  Button5_Click(ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  Button5.Click  
               Response.Write("<script      language=JavaScript>alert('操作成功');</script>")  
End  Sub  
 
为什么我在page_load一加入判断是否有登陆的操作就会出错!  
加入的代码为:  
               If  Session("lc_stat")  =  ""  Then  
                       Response.Redirect("login.aspx")  
               End  If  
 
出错信息:  
 
异常详细信息:  System.NullReferenceException:  未将对象引用设置到对象的实例。  
 
源错误:    
 
 
行  62:                  Dim  js  As  String  =  scriptstring.ToString  
行  63:                  If  (Not  IsClientScriptBlockRegistered("save_ok"))  Then  RegisterClientScriptBlock("save_ok",  js)  
行  64:                  Button5.Attributes.Add("onclick",  "return  save_ok()")

解决方案 »

  1.   

    If  Session("lc_stat")  =  null  Then  
                           Response.Redirect("login.aspx")  
                   End  If
      

  2.   

    你不能 ="" 
    ="" 代表对象Session("lc_stat")存在   它的值为空=null 代表对象Session("lc_stat")不存在
      

  3.   

    还有一个问题 
    C# Session("lc_stat")  == null  两个等号
    VB 里 Session("lc_stat")  = null  一个等号?
      

  4.   

    我未在page_load中加入弹出窗口的代码前那些关于lc_stat的代码并没有出错,而且可以正常使用,但加入弹出窗口代码后就出错了,出错的地方是行  64:   Button5.Attributes.Add("onclick",  "return  save_ok()")
      

  5.   

    还有一个问题 
    C# Session("lc_stat")  == null  两个等号
    VB 里 Session("lc_stat")  = null  一个等号?
    -----------------------------------------
    就是这样的啊,就是一个等号。。
    If  Session("lc_stat") is Nothing  Then  
       Response.Redirect("login.aspx")  
    End  If
      

  6.   

    行  64:   Button5.Attributes.Add("onclick",  "return  save_ok()")
    --------------------------------------
    这个是不是这样写啊。
    Button5.Attributes.Add("onclick",  "javascript:return  save_ok();")或者是save_ok找不到?。。
      

  7.   

    我用的是vs2003,在生成时并没有提示错误,是进行到登陆页面后才出现错误信息,而且如果跳过了以下几句If  Session("lc_stat") is Nothing  Then  
       Response.Redirect("login.aspx")  
    End  If时并没有提示行  64: Button5.Attributes.Add("onclick",  "return  save_ok()")这句出错!
      

  8.   

    你在HTML 写 JAVASCRIPT 代码
    然后 在Button5.Attributes.Add("onclick",  "return  save_ok()")
    这么调用
      

  9.   

    谢谢"新凡",asp.net和vb.net都是刚开始学的,很多问题不是很懂,在HTML中写javascript代码,比如定义我的save_ok函数,可以在page_load事件中调用吗?我不知page_load事件是否在执行html代码之后!