![](/img/trans.png)
[英]ASP.NET Login Control is redirecting to default.aspx even when the destinationpageurl is not set
[英]ASP.Net Login redirect using DestinationPageUrl
我创建了一个登录表单,如果登录成功,我试图将用户重定向到管理面板。 在PHP中,我曾经像在ASP.Net中对Response.Redirect()一样进行重定向,但是我看到登录表单具有DestinationPageUrl属性。 如果登录成功,我该如何触发? 我正在使用MySQL。
这是我登录事件的代码:
protected void loginform_Authenticate(object sender, AuthenticateEventArgs e)
{
string username = loginform.UserName.ToString();
string password = loginform.Password.ToString();
List<string> errors = new List<string>();
Regex rg = new Regex("^[a-z0-9_-]{3,16}$");
if (String.IsNullOrWhiteSpace(username))
{
errors.Add("Username is empty\n");
}
else if (!rg.IsMatch(username))
{
errors.Add("Username can only contain alphanumeric letters, - and _\n");
}
if (String.IsNullOrWhiteSpace(password))
{
errors.Add("Password is empty\n");
}
string queryRows = "SELECT COUNT(*) FROM users WHERE username = ? AND password = ?";
Database db = new Database();
MySqlCommand cmd = new MySqlCommand(queryRows, db.getCon());
cmd.Parameters.AddWithValue("", username);
cmd.Parameters.AddWithValue("", password);
db.Open();
object result = cmd.ExecuteScalar();
db.Close();
int numRows = 0;
if (result != null)
{
numRows = Convert.ToInt32(result);
}
if (numRows > 0)
{
Response.Redirect("~/admin/Admin.aspx");
}
else
{
loginform.FailureText = "<br /><br />User credentials are invalid.";
}
}
The DestinationPageUrl property specifies the page that is displayed when a
登录尝试成功。 Login控件的默认行为是使用户返回引用页面或Web.config文件中forms元素的defaultUrl属性中定义的页面。
Jus通过此链接获取更多详细信息:
http://msdn.microsoft.com/zh-CN/library/system.web.ui.webcontrols.login.destinationpageurl.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.