我的代码如下:
ASPX:
<% Dim AccountID As Integer
AccountID = 200
If AccountID <> 202 And AccountID <> 203 Then
txtChequeNo.Visible = False
Else %>
<asp:TextBox ID="txtChequeNo" Visible="true" runat="Server"></asp:TextBox>
<% End If %>
aspx.vb
在按钮中单击后面代码中的事件块:
If txtChequeNo.Visible = true Then
// Validation Block
End if
我的问题是,AccoundID值是200然后文本框在浏览器中不可见。
但验证块始终执行。
我无法确定原因..任何人都有线索......?
答案 0 :(得分:2)
这很有道理。
您遇到此问题是因为您在aspx文件中使用服务器标签,因此您的代码是逐行执行的。
您的代码会先执行,但您永远不会看到结果,因为您下方始终使用Visible="true"
设置可见性
您还需要完全修改您的编码。您将asp:textbox放在else子句中?你想要实现什么目标?
使用您的编码逻辑我会写下以下内容:
<asp:TextBox ID="txtChequeNo" runat="Server"></asp:TextBox>
<%
Dim AccountID As Integer
AccountID = 200
If AccountID <> 202 And AccountID <> 203 Then
txtChequeNo.Visible = False
Else
txtChequeNo.Visible = True
End If
%>
我正在创建文本框1st而不设置任何可见性值(通过defaylt确实如此),然后使用代码更改可见性。