2016-05-05 11 views
0

これを挿入した場合address.aspxするlogin.aspxのからリダイレクトしたいですこれはuser_login.csクラスファイルのデータベース・コードであるWebMethodlogin.aspx私は、ユーザが正しいユーザ名とパスワード

[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>"); 
    } 
} 

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 [email protected] AND [email protected]"; 

      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; 
} 

これは、ユーザーがログインボタンをクリックし

$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"); 
     }, 

    }); 
と呼ばれるangularJs機能です

私の質問は:Response.Redirect機能が働くと赤を示す現在のコンテキスト内に存在しない応答としてポップアップで下線が引かれ、また、それ以外の部分は

$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"); 
     }, 

    }); 

答えて

2

代わりのResponse.Redirectリターンの成功を動作していないされていませんメッセージを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'); 
       } 
      } 
0

角度の$ 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と$ウィンドウを注入することを忘れないでください。

関連する問題