繁体   English   中英

如果用户输入正确的用户名和密码,我想从login.aspx重定向到address.aspx

[英]I want to redirect from login.aspx to address.aspx if the user insert the correct username and password

这是login.aspxWebMethod

[WebMethod]
public static void logedin(string uname, string password)
{
    tbl_user_login objLogedin = new tbl_user_login();

    DataTable dtb = new DataTable();

    dtb = objLogedin.loginUser(uname, password);
    //result=dtb.Columns[0].ToString();

    if (dtb.Rows.Count > 0)
    {
        Response.Redirect("http://localhost:26430/address.aspx");
        //Server.Transfer("http://localhost:26430/address.aspx");
    }
    else {
        ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
    }
}

这是user_login.cs类文件的数据库代码

public DataTable loginUser(string loginid,string passwrd)
{
        DataTable dtb = new DataTable();

        SqlConnection con = connect.startConnection();

        try {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "select * from tbl_user_login where loginid=@loginid AND passwrd=@passwrd";

            cmd.Parameters.AddWithValue("@loginid", loginid);
            cmd.Parameters.AddWithValue("@passwrd", passwrd);

            SqlDataAdapter adt = new SqlDataAdapter(cmd);

            adt.Fill(dtb);
        }
        catch (Exception ex) {

            connect.closeConnection(con);
        }

        connect.closeConnection(con);
        return dtb;
}

这是在用户单击登录按钮时调用的angularJs函数

 $scope.register = function () {
    var uname = $scope.name;
    var idtype = $scope.idtype;
    var userid = "";

    if (idtype == 1) {
        var userid = $scope.email;
    }
    else {
        if (idtype == 2) {
            var userid = $scope.mobile;
        }
    }
    var passwrd = $scope.passwrd;

    $.ajax({
        type: 'POST',
        url: siteUrl + '/registration.aspx/registerUser',
        data: JSON.stringify({ loginId: userid, password: passwrd, Verified: 0, IdType: idtype, UserName: uname }),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,

        success: function (data, status) {
            alet("Succeddfully Inserted");
        },
        failure: function (data, status) {
            alert("Failed");
        },
        error: function (data, status) {
            alert("Please provide a valid email address");
        },

    });

我的问题是: Response.Redirect函数不起作用,并显示红色带下划线的弹出窗口,因为在当前上下文中不存在Response,并且else部分也不起作用

 $scope.register = function () {
    var uname = $scope.name;
    var idtype = $scope.idtype;
    var userid = "";

    if (idtype == 1) {
        var userid = $scope.email;
    }
    else {
        if (idtype == 2) {
            var userid = $scope.mobile;
        }
    }

    var passwrd = $scope.passwrd;

    $.ajax({

        type: 'POST',
        url: siteUrl + '/registration.aspx/registerUser',
        data: JSON.stringify({ loginId: userid, password: passwrd, Verified: 0, IdType: idtype, UserName: uname }),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,

        success: function (data, status) {
            alet("Succeddfully Inserted");
        },
        failure: function (data, status) {
            alert("Failed");
        },
        error: function (data, status) {
            alert("Please provide a valid email address");
        },

    });

代替Response.RedirectWebMthod返回成功消息并通过WebMthod进行重定向。

public static string logedin(string uname, string password)
{
    tbl_user_login objLogedin = new tbl_user_login();
    DataTable dtb = new DataTable();
    dtb=objLogedin.loginUser(uname, password);
    //result=dtb.Columns[0].ToString();
    if (dtb.Rows.Count > 0)
    {
         return "valid";
    }
    else 
    {
        return "invalid";            
    }
}

成功回调

success : function(response) {
              if(response.d == 'valid') {
                  window.location('address.aspx');
              }
              else {
                  alert('Invalid username or password');
              }
          }

最好使用Angular $ http。 并在成功部分中添加如下所示的重定向:

$http({
    url: "/registration.aspx/registerUser",
    method: "POST",
    data: {loginId: userid, password: passwrd, Verified: 0, IdType: idtype, UserName: uname}
     }).success(function(data, status) {
        $scope.data = data;
        // redirect 
        $window.location='http://localhost:26430/address.aspx';
     }).error(function(data, status) {
        $scope.status = status;
    });

不要忘记在控制器中注入$ http和$ window使其正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM