我有一个使用[OnTextChange]事件(VB.NET)的文本框,并且必须使用[AutoPostBack =" True"]从DB检查自身值:
<asp:TextBox ID="Item1" TabIndex="7" runat="server" AutoPostBack="True"></asp:TextBox>
情景是:
不需要的结果:
通缉结果:
我搜索了谷歌并知道这是.NET事件的一个问题。但仍然没有找到任何有用的解决方案。
请帮忙。
答案 0 :(得分:1)
如果您正在编写Web应用程序,TextBoxes CaseValidation有一个属性,您可以使用它, 要么 您可以在按钮单击功能中使用文本验证,而不是使用textchanged属性
答案 1 :(得分:0)
我遇到了同样的问题。按钮事件未触发的原因是在处理文本更改事件的子例程中,我不得不重新加载页面。我结合了几种方法并提出了这个似乎有效的解决方案:1)我在页面上添加了一个隐藏字段,用于存储按钮是否被点击的初始值为false的状态; 2)我在按钮上添加了OnClientClick,调用javascript函数将隐藏字段值设置为true; 3)在处理文本更改事件的子程序后面的代码中,我在使用Response.Redirect重新加载页面之前检查隐藏字段的值。以下是代码段:
<asp:HiddenField ID="addtocarthiddenfield" runat="server" Value="false" ClientIDMode="Static" />
OnClientClick="setAddCartClicked();"
<script type="text/javascript">
function setAddCartClicked() {
document.getElementById('addtocarthiddenfield').value = 'true';
}
</script>
Dim addtocart As Boolean = addtocarthiddenfield.Value
If addtocart = False Then
Response.Redirect("MyAccount_Favorites.aspx")
End If
我希望这会有所帮助。