【发布时间】:2013-12-04 04:00:02
【问题描述】:
我在 asp.net 中制作了一个示例网站。在页面加载和按钮单击时,我调用了显示在 lbldispnum 上的 RandomNumber 函数。
现在我已将随机数存储在会话中,并在页面刷新时标签 lblsipnum 显示随机数以及我想要的。
这在多次回帖后有效。 当我们运行网站然后点击页面刷新时,控件进入循环不是回发并显示新的随机数,如何避免这种情况或在页面刷新时绕过这个ifloop 请帮我找出解决这个问题的方法,我在下面提到了aspx代码和vb代码
<!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>
</div>
<p>
<asp:Label ID="lbldispnum" runat="server" BorderColor="Black"
BorderStyle="Solid" BorderWidth="1px"
style="z-index: 1; left: 295px; top: 101px; position: absolute; width: 339px; height: 28px"></asp:Label>
</p>
<p>
</p>
<p>
<asp:Button ID="btnsubmit" runat="server"
style="z-index: 1; top: 192px; position: absolute; left: 378px; height: 26px; width: 104px"
Text="Submit" />
</p>
</form>
</body>
</html>
Partial Class RereshTest
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("CheckRefresh") = Server.UrlDecode(System.DateTime.Now.ToString())
lbldispnum.Text = RandomNumber(8000, 10000)
End If
End Sub
Private Function RandomNumber(ByVal min As Integer, ByVal max As Integer) As Integer
Dim random As New Random()
Return random.[Next](min, max)
End Function
Protected Sub btnsubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsubmit.Click
If Session("CheckRefresh").ToString() = ViewState("CheckRefresh").ToString() Then
lbldispnum.Text = RandomNumber(8000, 10000)
Session("RandNumber") = lbldispnum.Text
Session("CheckRefresh") = Server.UrlDecode(System.DateTime.Now.ToString())
Else
lbldispnum.Text = Session("RandNumber")
End If
End Sub
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
ViewState("CheckRefresh") = Session("CheckRefresh")
End Sub
End Class
【问题讨论】:
标签: asp.net