关于登录/注销,已在asp.net中验证

关于登录/注销,已在asp.net中验证,asp.net,Asp.net,我正在开发登录/注册模块(仅供参考,没有rolls/membership只是一个简单的登录表单),数据流来自sql server,用于注册和登录,代码目前运行良好。 我试图在代码中使用登录/注销功能。我已经创建了一个登录表单,用户可以登录,成功登录后,用户被重定向到default_page.aspx。 到目前为止,我的研发代码如下: <td width="122" align="right"><asp:LinkButton ID="LinkButton1" runat="ser

我正在开发登录/注册模块(仅供参考,没有rolls/membership只是一个简单的登录表单),数据流来自sql server,用于注册和登录,代码目前运行良好。 我试图在代码中使用登录/注销功能。我已经创建了一个登录表单,用户可以登录,成功登录后,用户被重定向到default_page.aspx。 到目前为止,我的研发代码如下:

<td width="122" align="right"><asp:LinkButton ID="LinkButton1" runat="server" 
            onclick="LinkButton1_Click">Sign Out</asp:LinkButton></td>
从上面的代码你可以看到我只放了一个链接按钮,如果用户点击上面的链接按钮,用户就可以注销并重定向到登录页面(这里是userlogin.aspx)。但是现在,如果我尝试将(请参见下面的aspx和.cs)更改为signin | signout,我会得到错误信息:“System.Security.Principal.IPrincipal”不包含“IsAuthenticated”的定义,并且找不到扩展方法“IsAuthenticated”接受类型为“System.Security.Principal.IPrincipal”的第一个参数(是否缺少using指令或程序集引用?

aspx页面:

<td width="122" align="right"><asp:LinkButton ID="LinkButtonSignInOut" runat="server" 
            onclick="LinkButton1_Click">""</asp:LinkButton></td>
有什么建议吗


谢谢!

检查下面的代码,我已经写了评论

protected void LinkButton1_Click(object sender, EventArgs e)
{
    if (User.IsAuthenticated) **//error is here**
    if(User.Identity.IsAuthenticated) // this is correct code
         LinkButtonSignInOut.Text = "Sign Out";
    else
        LabelSignInOut.Text = "Sign In";

    Session.RemoveAll(); //
    Session.Abandon(); // Better to use this
    Response.Redirect("userlogin.aspx"); 
    // You are display assigning text in label and immediate after you are redirecting it to another page ??
}

@谢谢…但目前没有windows来检查你的代码…是的,你对错误的重定向是正确的…但目前我正在处理这个问题。
protected void LinkButton1_Click(object sender, EventArgs e)
{
    //After click Log out we need to delete all session values
    if (User.IsAuthenticated)**//error is here**
        LinkButtonSignInOut.Text = "Sign Out";
    else
        LabelSignInOut.Text = "Sign In"; 

    Session.RemoveAll();
    Response.Redirect("userlogin.aspx");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
    if (User.IsAuthenticated) **//error is here**
    if(User.Identity.IsAuthenticated) // this is correct code
         LinkButtonSignInOut.Text = "Sign Out";
    else
        LabelSignInOut.Text = "Sign In";

    Session.RemoveAll(); //
    Session.Abandon(); // Better to use this
    Response.Redirect("userlogin.aspx"); 
    // You are display assigning text in label and immediate after you are redirecting it to another page ??
}