最后的100分了,能收就都收下吧。郁闷啊。
第二贴了,没有答案。。来了给分,能帮就帮帮我吧。还是上回的问题,我将一个100%没有问题的.net网站从一台服务器完完全全地拷贝到另一台服务器,结果发现出问题了,其症状如下:在首页DEFAULT.ASPX中设有文本框两个和按钮一个,分别用来输入用户名和密码,按扭用来提交.当点击按钮则从数据库里提取出该用户的详细资料,然后存放在session变量中。按程序逻辑,当用户名密码正确的话,从数据库中提取的所有变量提交到session中,然后跳转到另一页面WELCOME.ASPX .该页面除了一些欢迎信息还显示用户的详细资料.可是就是卡在这里了.!!当我在首页输入完用户名密码后点击按钮提交,再显示出来的却是一个空白的页面,地址栏里显示的还是首页default.aspx。我尝试直接从地址栏输入WELCOME。ASPX,却发现竟然可以正确显示用户的详细资料!这说明在首页中点击登录按钮所需要执行的程序都执行了!唯独这一句“Response.Redirect("Welcome.aspx")”,这可真把我急坏了。后来我改了一种跳转方法,用lblClientMsg.Text = "<script>window.open('loginmessage.aspx','_self');</script>",结果还是不行。。昏啊。。我断定是IIS的问题,可是远程服务器不是由自己摆弄的。老板不要原因,只要结果更郁闷的是,就除了首页有这种情况,当你跳转到别的页面,就不会有这种跳转不了的情况发生。不管用ASP的方法还JAVASCRIPT的方法。我快昏掉了

解决方案 »

  1.   

    1.我将一个100%没有问题的.net网站从一台服务器完完全全地拷贝到另一台服务器???
    本地试了完全没问题?问题是出现在传到虚以主机上才出现的??2.程序没有报任何错误?3.或许你可把代码贴出来看看.
      

  2.   

    我在本地写完后,上传至服务器A,正式使用,一直没有问题,(验收了的项目)。
    之后将它发布在另一台服务器上(新建网站,所有设置都跟以前一样的,新建一个虚拟目录也试过了,同样的故事),从原先服务器直接COPY过去的,不行。从本地代码重新编译过的,也不行,都是出现像我说的那种情况。之前也发过一贴问了原因,网上一些朋友说是因为按钮事件丢失了,我按他们说的重新将代码整了一道,还是不行!!
      

  3.   

    1、把解决方案打开
    2、然后将所有的方案重新生成一遍
    3、重新启动机器或IIS
      

  4.   

    代码大概如下。我是将登录模块做成用户控件(_login.ascx,这个控件里有几个Panel,一个是用户写填写登录用户名密码及提交按钮的Panel,登录成功后这个Panel的Visable=False,另一个是登录后显示的UserMenu Panel),这个用户控件由多个页面文件(aspx)调用。我将数据库操作部分封装在一个类里(DBControl),其中Userlogin方法就是根据提供的用户名和密码从数据库里读数据,同时返回值,如果数据库user表里有这个用户的信息,返回值0代表可登录,将一系列用户信息保存至session后就跳转到另一个页面,如果我使用Response.Redirect("welcome.aspx")的话,提交后就显示成了一个空白页,地址栏里还是default.aspx,如果使用lblClientMsg.Text = "<script>window.open('welcome.aspx','_self');</script>"的话,还是没有按我的要求跳转到welcome.aspx文件,而是像把default.aspx刷新了一道,此时因为imgbtnLogin_Click事件中登录验证的代码已经执行了,session("islogin")=true,所有显示要用户输入登录信息的Panel隐藏,而用户登录成功后的UserMenu的Panel显示,但事实上还是没有执行跳转到welcome.aspx呀Private Sub imgbtnLogin_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbtnLogin.Click
            Dim DBControl As New DBcontrol() 
            Try
                Select Case DBControl.UserLogin(DBControl.CheckStr(txtMobile.Text), DBControl.CheckStr(txtPassWord.Text))
                    Case 0  '可登录                    Session("thisAlias") = DBControl.myDataSet.Tables(0).Rows(0).Item("alias")
                        Session("pwdDate") = DBControl.myDataSet.Tables(0).Rows(0).Item("pwd_date")
                        Session("lst_rank") = DBControl.myDataSet.Tables(0).Rows(0).Item("lst_rank")
                        Session("thisAlias") = DBControl.myDataSet.Tables(0).Rows(0).Item("alias")
                        pnlLogin.Visible = False
                        pnlUserMenu.Visible = True
                        Session("Protocol") = False                    '   Response.Redirect("welcome.aspx")
                        lblClientMsg.Text = "<script>window.open('welcome.aspx','_self');</script>"                Case 1  '该手机号无法登录,跳转到管理员登录
                        Session("isLogin") = False
                        Call AdminLogin()                Case 2  '该用户已经注销业务
                        Session("isLogin") = False
                        Session("LoginStat") = 2
                        '  Response.Redirect("loginmessage.aspx")
                        lblClientMsg.Text = "<script>window.open('loginmessage.aspx','_self');</script>"
                    Case 4
                        Call AdminLogin()
                End Select
            Catch
            End Try    End Sub
    并且我将在后面出问题的这个项目代码放到另一台服务器上,竟然又没有这种情况发生了@!!气昏我了~~~~~
      

  5.   

    这有可能是新服务器系统的问题,或者是.NET的问题,你把整个系统重装一下看看
    我有一次就是这么干的
      

  6.   

    你试试登录后定位到其它页面(新建一个也可以),不要定位到“welcome.aspx”了,看看是否“welcome.aspx”出了问题还是用户登录页面出了问题,然后再根据具体情况找出问题的所在,服务器应该是没有问题的
      

  7.   

    建議你這樣作一下測試確定一下問題所在﹐就在default.aspx下﹕
    1.在page_load事件中寫Response.Redirect("welcome.aspx");看能否跳轉
    2.在button_onclick事件中寫Response.Redirect("welcome.aspx");看能否跳轉
    3.最后再把代碼一點一點貼上去對于頁面空白一片﹐我也碰到過這個情況﹐不過當時html內容已經出來了﹐只是沒顯示出來﹐不過我把"編碼"選了"自動選取"就正常了﹐為什么這樣我也不知道最后還是希望你把代碼貼出來﹐相信這樣大家會更容易幫你找出問題
      

  8.   

    你的这段程序代码是在try..catch....中的,但是在catch中并没有错误处理,如果是在try中,跳转之前发生了错误的话就会出现这样的情况了,尝试一下在catch中加上捕捉并显示错误的代码,重新编译后上传到服务器上面看看
      

  9.   

    打开的页面中在<head></head>之间加入一行:<base target="_self">
    你的程序用框架了吗
    lblClientMsg.Text = "<script>window.open('loginmessage.aspx','_blank');</script>",
      

  10.   

    你的另一台电脑是不是没有装。NET FRAMEWORD所以才看不到你的文本框之类的。NET控件
      

  11.   

    1.Response.Redirect("Welcome.aspx",true),或者Response.Redirect("Welcome.aspx",false)
    2.试试Welcome.aspx页面中什么都不要加。看能不能跳过去。
      

  12.   

    是不是清华同方的服务器,如果是,那可能是服务器有问。
    如果不是,你最好看清楚了,它是不是支持。NET的空间