【发布时间】:2011-10-10 14:42:20
【问题描述】:
我的 vb.net 应用程序需要使用会话变量。我真的不知道如何在 ASP.net 中使用它。我一直在尝试使用我的书所拥有的东西,但我无法让这个标签起作用。我需要针对数据库验证用户输入,如果他们的代码在数据库中,文本框应该会消失,并且会出现一个标签,上面写着欢迎。
按照我的编写方式,我收到一条错误消息,提示服务器标签格式不正确,并且在代码隐藏中它说我的标签 ID 未声明。谁能发现我写的代码有什么问题?
<asp:Label ID="lblIB" runat="server" DataSourceID="dsIBs"
Text="Welcome, <%# Eval("First_Name") %> '&' <%# Eval("Last_Name")%>">
</asp:Label>
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal
args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles
CustomValidator1.ServerValidate
args.IsValid = True
For Each drv As DataRowView In dsIBs.[Select](DataSourceSelectArguments.Empty)
If drv("baccount").ToString() = args.Value Then
args.IsValid = False
lblIB.Visible = False
Exit For
End If
Next
If args.IsValid Then
IBTextBox.Visible = False
IBTextBoxButton.Visible = False
lblIB.Visible = True
End If
End Sub
更新:
<asp:Label ID="lblIB" runat="server" Text=""></asp:Label>
Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
args.IsValid = True
For Each drv As DataRowView In dsIBs.[Select](DataSourceSelectArguments.Empty)
If drv("baccount").ToString() = args.Value Then
args.IsValid = False
lblIB.Visible = False
Exit For
End If
Next
If args.IsValid Then
IBTextBox.Visible = False
IBTextBoxButton.Visible = False
lblIB.Visible = True
lblIB.Text = String.Format("Welcome, {0} {1}", Session("FirstName"), Session("LastName"))
End If
End Sub
更新 2:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
lblIB.Visible = False
End Sub
If args.IsValid Then
IBTextBox.Visible = False
IBTextBoxButton.Visible = False
lblIB.Visible = True
lblIB.Text = String.Format("Welcome, {0} {1}", Session("FirstName"),
Session("LastName"))
Protected Sub IBTextBoxButton_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles IBTextBoxButton.Click
Session("IB") = IBTextBox.Text
Dim IB As String = Session("IB")
Response.Redirect(Request.RawUrl + "&IB=" + Session("IB"))
End Sub
【问题讨论】:
-
标签是否在数据绑定控件内?
-
不,标签就在用户用来输入代码的文本框和按钮之后。那里有一个自定义验证器,可以根据数据库中的代码验证用户的输入,但这也不起作用。
标签: asp.net vb.net session textbox label