日期:2014-05-17  浏览次数:20402 次

asp.net如何统计button的单击次数
我想在登录页面上做出登录限制,如果连续输入3次密码错误,就限制登录或者就让输入验证码再登录

可是我怎么也获取不到button的单击次数

网上很多都是说,定义全局或局部变量,然后再++。

这些我都试过了,不行!!!

不知哪位高手能给个可行的源码!!

谢谢!!!

------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
public static int number = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
number = 0;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (number < 3)
{
if ( TextBox1.Text.ToString().Trim() == "admin")
{
Response.Write("您已经成功登录!");
}
else
{
number += 1;
}
}
else
{
Response.Write("您登录失败的次数太多,不能在登录了!");

}
}
}




<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>

<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" Text="请输入用户名!"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox2" runat="server" Text="请输入密码!"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
</html>
------解决方案--------------------
用Session记录就行了:
一开始:Session["密码输错次数"]=0;

单击按钮后判断密码错误:

int 密码输错次数=(int)Session["密码输错次数"]+1;
if(密码输错次数==3)
//显示验证码等。
else
Session["密码输错次数"]=密码输错次数;

------解决方案--------------------
探讨

用Session记录就行了:
一开始:Session["密码输错次数"]=0;

单击按钮后判断密码错误:

int 密码输错次数=(int)Session["密码输错次数"]+1;
if(密码输错次数==3)
//显示验证码等。
else
Session["密码输错次数"]=密码输错次数;

------解决方案--------------------
探讨
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{……

------解决方案--------------------
用session记录,每次点击登陆,记录一次,验证session来区别是否超过登陆限制
------解决方案--------------------
你的button是用的什么,input 还是asp.net 服务器控件?
1.用session方式 记录登录次数,用取模运算,余数为0表示已登录三次了,
2.用cookie本地记录
3.登录次数放在数据库中也可以
具体楼主自己看着用
------解决方案--------------------
if (Request.Cookies["loginCount"] == null) //第一次登录的时候就判断 计数器是否存在
{
HttpCookie any = new HttpCookie("loginCount"); ;
Response.Cookies["loginCount"].Value = "1"; //如果不存在 就初始化一个 为1 表示登录了一次
Response.Cookies["loginCount"].Expires = DateTime.Now.AddDays(1); //计数器在一天后失效