我尝试创建一个ASP.NET Empty Web应用程序,允许用户注册并登录以访问公众的不同页面。我目前正在使用包含导航链接的母版页,使用html标记。但是,对于我的一个按钮,它用于退出用户的帐户,以将其重定向回未登录的公共者能够访问的页面。但是,要使用后面的代码,可能需要我使用LinkButton来访问我的注销代码后面的c#代码,这是
FormsAuthentication.SignOut();
Response.Redirect("Index.aspx");
但是,如果我使用LinkButton,我需要使用标签,这会搞砸我的页面布局(导航链接)。有没有办法可以使用标签,仍然可以访问我的c#代码来实现我上面粘贴的代码?
无论如何我试过这个
<a id="signOutBtn" onclick="signOut_Click" onserverclick="signOut_Click" runat="server">Sign Out</a>
但是我收到了这个错误:
Compiler Error Message: CS1061: 'ASP.masterpageuser_master' does not contain a definition for 'signOut_Click' and no extension method 'signOut_Click' accepting a first argument of type 'ASP.masterpageuser_master' could be found (are you missing a using directive or an assembly reference?)
答案 0 :(得分:2)
尝试runat="server"
:
<a runat="server" id="signOutBtn" onserverclick="signOut_Click">Sign Out</a>
在您的代码中,定义您的函数:
public void signOut_Click(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect("Index.aspx");
}