C# Asp.net计数用户尝试次数
我是ASP.net新手。这可能是一个简单的问题,但我不知道怎么做。 我的页面上有一个asp.wizard控件,其中在“步骤1”中有一个文本框,用于接受订单号 如果用户在文本框中输入订单号并与数据库匹配,则将用户移动到向导步骤2。若用户输入了错误的值或将其保留为空,则验证程序控件将警告输入值或输入的值错误。 然而,我担心的是,如果用户尝试输入的值超过三次,则应显示弹出窗口并显示消息“您已尝试三次,但您没有有效的订单号” 我试图在serverValidate事件函数中增加计数器,但每次回发页面时都会将计数器值重置为0。C# Asp.net计数用户尝试次数,c#,asp.net,C#,Asp.net,我是ASP.net新手。这可能是一个简单的问题,但我不知道怎么做。 我的页面上有一个asp.wizard控件,其中在“步骤1”中有一个文本框,用于接受订单号 如果用户在文本框中输入订单号并与数据库匹配,则将用户移动到向导步骤2。若用户输入了错误的值或将其保留为空,则验证程序控件将警告输入值或输入的值错误。 然而,我担心的是,如果用户尝试输入的值超过三次,则应显示弹出窗口并显示消息“您已尝试三次,但您没有有效的订单号” 我试图在serverValidate事件函数中增加计数器,但每次回发页面时都会
我现在不知道该怎么做了,因为每次单击“下一步”按钮后我的页面回发我的向导页面我的计数器值重置为0将计数器存储在隐藏的文本字段中。这样,该值将在回发后仍然有效。您可以在javascript中(当用户按下按钮时)或在服务器上增加计数器 以下是一个粗略的框架: 向页面中添加类似以下内容的字段:
<input type="hidden" runat="server" id="txtCounter" />
将计数器存储在隐藏的文本字段中。这样,该值将在回发后仍然有效。您可以在javascript中(当用户按下按钮时)或在服务器上增加计数器 以下是一个粗略的框架: 向页面中添加类似以下内容的字段:
<input type="hidden" runat="server" id="txtCounter" />
您可以将其保存在不会重置的会话变量中。您可以将其保存在不会重置的会话变量中。
如果(Wizard1.ActiveStepIndex==0)
<input type="hidden" id="hdn" runat="server" value="0" />
{
如果((HiddenField1.Value==“0”)){
HiddenField1.Value=“1”;
}
else if((HiddenField1.Value==“1”))
{
HiddenField1.Value=“2”;
}
else if((HiddenField1.Value==“2”))
{
HiddenField1.Value=“3”;
回复。写下(“警告(‘你试了3次’)”);
}
Label21.Text=HiddenField1.Value;
}
if(Wizard1.ActiveStepIndex==0)
{
如果((HiddenField1.Value==“0”)){
HiddenField1.Value=“1”;
}
else if((HiddenField1.Value==“1”))
{
HiddenField1.Value=“2”;
}
else if((HiddenField1.Value==“2”))
{
HiddenField1.Value=“3”;
回复。写下(“警告(‘你试了3次’)”);
}
Label21.Text=HiddenField1.Value;
}
您能给出一些示例代码来说明如何做到这一点吗。我正绞尽脑汁想用谷歌搜索几个小时,你的手上会有多个样本。如果我把代码放在代码后面的话。在“加载事件”页面或我在“下一步”按钮单击事件中使用该代码的位置,在第三次尝试后,它确实会弹出任何窗口。它不会弹出任何窗口。对不起,上面的评论,我的意思是不会弹出任何窗口。您可以给出任何示例代码如何做到这一点。我正绞尽脑汁想用谷歌搜索几个小时,你的手上会有多个样本。如果我把代码放在代码后面的话。在页面加载事件或我在下一个按钮点击事件中使用该代码的位置,第三次尝试后,它确实会弹出任何窗口。它不会弹出任何窗口。对于上述评论,我的意思是不会弹出任何窗口。请提供代码,我应该在页面加载上在哪里使用会话,或者在哪里以及如何使用会话。我对asp.net真的很陌生。如何在会话中执行。我试图在我的page_load事件中保存会话,但其say会话在当前上下文ViewState(“MyCounter”)中正确。请提供代码,说明我应该在何处使用page_load上的会话,或者在何处以及如何使用会话。我对asp.net真的很陌生。如何在会话中执行。我试图在我的page_load事件中保存会话,但它的say会话在当前上下文ViewState(“MyCounter”)中是正确的,感谢您的快速回复,但我将此代码放在我的代码隐藏文件中。在第页上加载事件或where@uture:标记(在hdn.Value=”“+int.Parse(hdn.Value)+1上给出错误;输入字符串的格式不正确。@以后重试:hdn.Value=“”+(ConvertToInt32(hdn.Value)+1)
错误当前上下文中不存在名称“ConvertToInt32”谢谢您的快速回复,但我将此代码放在代码隐藏文件中的位置。在第_页加载事件或where@uture:标记(在hdn.Value=“+int.Parse(hdn.Value)+1上给出错误;输入字符串的格式不正确。@以后再试:hdn.Value=“”+(ConvertToInt32(hdn.Value)+1);
错误当前上下文中不存在名称“ConvertToInt32”
hdn.Value=""+(ConvertToInt32(hdn.Value)+1);
if(hdn.Value=="3")
// do something
if (Wizard1.ActiveStepIndex == 0)
{
if ((HiddenField1.Value == "0")){
HiddenField1.Value = "1";
}
else if ((HiddenField1.Value == "1"))
{
HiddenField1.Value = "2";
}
else if ((HiddenField1.Value == "2"))
{
HiddenField1.Value = "3";
Response.Write("<script language='javascript'>alert('you tried 3 times')</script>");
}
Label21.Text = HiddenField1.Value;
}