![](/img/trans.png)
[英]Login.aspx: i have to check the userID, Password as well as the title of the user
[英]I want to redirect from login.aspx to address.aspx if the user insert the correct username and password
这是login.aspx
的WebMethod
[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.Redirect
从WebMthod
返回成功消息并通过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.