【发布时间】:2014-06-09 17:27:24
【问题描述】:
单击按钮后,我将记录插入数据库,然后在页面加载时检查用户今天是否参加并显示正确的标签。问题是它在回发后一直显示错误的标签,但如果我进行一次刷新,我会显示正确的标签。
Protected Sub AttendBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AttendBtn.Click
Dim con As New SqlConnection
Dim conString As String
conString = ConfigurationManager.ConnectionStrings("attConnection").ConnectionString
con = New SqlConnection(conString)
con.Open()
Dim cmd As New SqlCommand("INSERT INTO Attendance (UserID, Date, Attendance_Cycle, Comments)VALUES (@UserID, @Date, @Attendance_Cycle, @Comments)", con)
cmd.Parameters.AddWithValue("@Date", DateTime.Now)
cmd.Parameters.AddWithValue("@Attendance_Cycle", GlobalVarAndFunc.CurrentCycle(2))
cmd.Parameters.AddWithValue("@Comments", "")
cmd.Parameters.AddWithValue("@UserID", GlobalVarAndFunc.UserID)
cmd.ExecuteNonQuery()
con.Close()
End Sub
在页面加载时
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If GlobalVarAndFunc.HasAttended Then
attend_LB.Text = "You already attended today"
Else
attend_LB.Text = "Attend now"
End If
End Sub
GlobalVarAndFunc.HasAttended 函数检查用户今天是否按下了参与按钮
【问题讨论】:
-
你在哪里设置 GlobalVarAndFunc.HasAttended 为真?
-
App_Code 文件夹中的一个类。我怀疑问题出在页面生命周期顺序上。
-
在按钮单击事件中,您没有设置标签的代码。按钮点击事件将在
Page_Load事件之后触发。 -
Bharadwaj:据我了解页面加载 --> 按钮单击 --> AttendBtn_Click 将运行,然后导致回发 --> 新页面加载将运行
-
我想做的是用户在回发后点击按钮后更改页面内容
标签: asp.net .net vb.net postback page-refresh