ASP.NET登录表单身份验证没有登录控件

时间:2012-08-18 06:51:48

标签: c# asp.net-membership form-authentication

我正在使用ASP.NET成员资格,并且在注册页面上尝试登录时没有登录控件。

当用户点击注册按钮时,控件转到redirect.aspx页面。 但是在那个页面中,当我试图重定向到成员主页时,它会抛出以下错误。

错误 -

Unable to evaluate expression because the code is optimized or a native frame
is on top of the call stack.

Web.config -

<authentication mode="Forms">
    <forms name=".SSOAuth" loginUrl="login.aspx" defaultUrl="Redirect.aspx"
           protection="Validation" timeout="30000"/>
</authentication>

RegistrationPage代码 -

protected void btnRegister_Click(object sender, EventArgs e)
{
    MembershipUser userMemb = Membership.CreateUser(
                           txtemail.Text.Replace("'", "''").ToString(),
                           txtPassword.Text.Replace("'", "''").ToString(),
                           txtemail.Text.ToString());

    Roles.AddUserToRole(txtemail.Text.ToString(), "Member");
    FormsAuthentication.RedirectFromLoginPage(txtemail.Text.Trim(), false);
}

Redirect.aspx.cs代码 -

try
{
    if (User.IsInRole("Member"))
    {
        string UserName = User.Identity.Name;                        
        Response.Redirect("~/Member/MembeHome.aspx");
    }
}
catch(Exception ex) {}

1 个答案:

答案 0 :(得分:1)

阅读本文档(问题和解决方案)ThreadAbortException Occurs If You Use Response.End, Response.Redirect, or Server.Transfer

使用Response.Redirect(url,false)

Response.Redirect("~/Member/MembeHome.aspx",false);