使用html <a> tag instead of LinkButton, can&#39;t access c# code-behind</a>

时间:2015-01-25 12:12:57

标签: c# html asp.net

我尝试创建一个ASP.NET Empty Web应用程序,允许用户注册并登录以访问公众的不同页面。我目前正在使用包含导航链接的母版页,使用html标记。但是,对于我的一个按钮,它用于退出用户的帐户,以将其重定向回未登录的公共者能够访问的页面。但是,要使用后面的代码,可能需要我使用LinkBut​​ton来访问我的注销代码后面的c#代码,这是

FormsAuthentication.SignOut();
Response.Redirect("Index.aspx");

但是,如果我使用LinkBut​​ton,我需要使用标签,这会搞砸我的页面布局(导航链接)。有没有办法可以使用标签,仍然可以访问我的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?)

1 个答案:

答案 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");
}