首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加到会话编号

添加到会话编号
EN

Stack Overflow用户
提问于 2012-04-04 02:57:35
回答 4查看 113关注 0票数 1

好的,所以我有一个任务,我必须让客户端尝试输入密码3次,如果他在3次中没有输入正确的密码,它会将他重定向到另一个页面,问题是我不知道如何使用会话,我如何像++或其他东西。

代码语言:javascript
运行
复制
Session["counter"] = 0;

我正在尝试做以下几件事:

代码语言:javascript
运行
复制
Session["counter"]++;

如何检测客户端是否尝试输入密码3次?谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-04 03:01:04

代码语言:javascript
运行
复制
int counter=1;
Session["counter"]=counter;

当您想要更新该值时,读取该值并将其转换为int,然后递增,保存回来

代码语言:javascript
运行
复制
if(Session["counter"]!=null)
{
 counter=Convert.ToInt32(Session["counter"]);
}
counter++;
Session["counter"]=counter;

编辑:根据注释,这是您可以检查计数器值的方式。我将检查封装在两个方法中,以设置和获取,您甚至可以像其他人提到的那样使用属性。

代码语言:javascript
运行
复制
private int GetLoginAttempts()
{
    int counter=0;
    if(Session["counter"]!=null)
    {
     counter=Convert.ToInt32(Session["counter"]);
    }
  return counter;
}
private void IncreaseLoginAttempts()
{
   if(Session["counter"]!=null)
   {
     counter=Convert.ToInt32(Session["counter"]);
   }
   counter++;
   Session["counter"]=counter;
}

当用户尝试登录(在您的按钮单击/操作方法中)时,检查当前值

代码语言:javascript
运行
复制
   if(GetLoginAttempts()==3)
   {
        //This means user already tried 3 times, show him a message !
   }
   else
   {
        //Do the login process, If login fails, increase the counter 
       IncreaseLoginAttempts()
   }
票数 2
EN

Stack Overflow用户

发布于 2012-04-04 03:00:07

尝尝这个。

代码语言:javascript
运行
复制
int counter = Int32.Parse(Session["counter"].ToString()); //Session["counter"] may be null

Session["counter"] = ++counter;
票数 1
EN

Stack Overflow用户

发布于 2012-04-04 03:04:06

您可以通过将其包装在属性中来实现它,如下所示:

代码语言:javascript
运行
复制
    public int PasswordAttempts
    {
        get
        {
            if (Session["PasswordAttempts"] == null)
                Session["PasswordAttempts"] = 0;

            return (int)Session["PasswordAttempts"];
        }
        set
        {
            Session["PasswordAttempts"] = value;
        }
    }

    protected void Submit_Click(object sender, EventArgs e)
    {
        PasswordAttempts++;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9999600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档