0

我已经创建了一个登录表单,如果登录成功,我会尝试将用户重定向到管理面板。在 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.";
        }
    }
4

1 回答 1

0
The DestinationPageUrl property specifies the page that is displayed when a 

登录尝试成功。Login 控件的默认行为是将用户返回到引用页面,或者返回到 Web.config 文件中 forms 元素的 defaultUrl 属性中定义的页面。

只需通过此链接了解更多详细信息:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.destinationpageurl.aspx

于 2013-07-11T13:43:50.423 回答