登录后响应重定向不起作用

时间:2020-08-04 09:11:31

标签: asp.net

登录成功后,我在ASP.net中编写了以下代码以重定向“默认”页面,但是 response.write 功能无法正常工作。请检查以下代码并建议如何执行此操作...

 protected void LogIn_Clicked(object sender, EventArgs e)
    {
        DataTable Login = new DataTable();

        string username = Request.Form["username"];
        string password = Request.Form["password"];
        bool remember = RememberMe.Checked;

        Login = Db.SetCommand("Select * from KhArind.Dbo.UserMaster Where UserName = '" + username + "' And Password = '" + password + "' ").ExecuteDataTable();

        if (Login.Rows.Count > 0)
        {
            Session["UserName"] = Login.Rows[0]["UserName"];
            Session["UserId"] = Login.Rows[0]["UserId"];
            Response.Redirect("~/Default.aspx",false);
        }
        else
        {
            ErrorMessage.Text = "Invalid UserName or Password";
            ErrorMessage.Visible = true;
        }
    }

请在下面的链接中检查aspx代码

https://www.dropbox.com/s/igjlylzqe8fbcq0/ASPXCode.txt?dl=0

浏览器的ScreenShot:-

enter image description here

2 个答案:

答案 0 :(得分:0)

在使用页面传输方法之前,请确保已启用Ispostback,并且在页面加载中是否存在以下部分

private void Page_Load()
{
    if (!IsPostBack)
    {
        //your code
    }
} 

现在尝试使用重定向方法

Response.Redirect("Default.aspx", true);

仍然Response.redirect无法正常工作。 然后转到设计视图,选择要设置Response.redirect的按钮,然后按 F4 ,这将打开“按钮属性”,然后需要找到PostBackUrl选项,然后找到所需的URL。

PostackURL

然后找到文件

Files

查看页面的正确路径,并将其添加到重定向方法中

enter image description here

答案 1 :(得分:0)

  1. 使用Response.Redirect("Default.aspx", false);
  2. 如果是root用户,请使用“〜/”,使用Response.Redirect("~/Default.aspx", false);
  3. Transfer方法通常更有效,因为它不会导致与客户端的往返。 Server.Transfer("Default.aspx", True)
相关问题