为了确保正确编写事件处理程序,我通常让Visual Studio为我生成事件.但是,我找不到用div做这个的方法,我试着自己输入它无济于事.如果没有编写任何JavaScript,这是否可行?(我看到了类似的问题,但似乎找不到符合我需求的东西).
编辑:基本上我有一个注销div伪装成用户作为按钮.当他们点击它时,我希望发生以下情况:
protected void LogOff_Click(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
Session.Abandon();
//This will clear the authentication cookie
HttpCookie myHttpCookie = new HttpCookie(FormsAuthentication.FormsCookieName, "");
myHttpCookie.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(myHttpCookie);
//This will clear the session cookie (not required for my application but applying to be safe)
HttpCookie myHttpCookie2 = new HttpCookie("ASP.NET_SessionId", "");
myHttpCookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(myHttpCookie2);
FormsAuthentication.RedirectToLoginPage();
}
Run Code Online (Sandbox Code Playgroud)
这是我称之为此事件的地方:
<a href="Log_In.aspx"><span class="MenuItem" runat="server" onclick="LogOff_Click">Log Off</span></a>
Run Code Online (Sandbox Code Playgroud)
你LogOff_Click
很好.但是,您需要修改标记.将onserverclick
事件应用于<a>
标记而不是<span>
.在您的情况下,请尝试以下操作:
<a href="Log_In.aspx" runat="server" onserverclick="LogOff_Click"><span class="MenuItem">Log Off</span></a>
Run Code Online (Sandbox Code Playgroud)
该div
元素支持javascript事件,onclick
因此您可以执行此操作.您可以通过查看w3c shools标记定义来检查html元素是否支持给定事件.
我不清楚你究竟是什么意思.你可以在客户端使用javascript做很多事情.onclick
是javascript,但你也可以使用服务器端(ASP.NET Webforms上的回发)来执行重定向等操作.使用javascript做的事情是,没有做ajax,服务器不明显,导致javascript被浏览器处理.
看看我的样本和这个jsFiddle演示
<div>
标签样本HTML
<div onclick="alert('hello');">hello world</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17898 次 |
最近记录: |