我创建了一个ASP.NET 3.5表单页面。在顶部,我放置了一些文本框和字段验证器,以便在数据库中插入记录/行。在底部,我有一个多视图控件,其中包含一个包含文本框,验证器和gridview的视图,用于搜索/编辑记录。
现在虽然我可以使用按钮正常搜索,但如果我在搜索文本框中按Enter键,则会从页面顶部触发一个完全无关的验证器。验证器,文本框和按钮属于不同的验证组(两组:顶部,底部)。即使我在底部关闭验证(causeValidation = false,searchValidator =禁用)它仍然会触发。任何想法?
底层正则表达式验证器也会错误地触发(validationExpression = ^[a-zA-Z0-9]{1,50}$
)
而最精确的副本则没有。我只想插入字符和数字。
我必须检查JavaScript代码吗?我在哪里可以找到它?是否有命令在往返后自动滚动到页面底部?
<asp:View ID="View2" runat="server">
ItemID Date<br/>
<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="Search" CausesValidation="False"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"
ValidationGroup="Search" CausesValidation="False"></asp:TextBox>
<asp:Button ID="ButtonSearch" runat="server"
onclick="ButtonSearch_Click" Text="SEARCH" Width="120px"
ValidationGroup="Search" CausesValidation="False" />
答案 0 :(得分:1)
从ASP.NET 2.0开始,您可以在表单级别或Panel级别设置默认按钮(当用户按Enter键时触发的按钮)。如果您之前没有使用过Panel,则会将其渲染为div。
示例:
<form id="form1" defaultbutton="SearchButton" runat="server">
<asp:Panel ID="SearchPanel" DefaultButton="SearchButton" runat="server">
不确定,但我认为defaultbutton / DefaultButton属性的值必须是UniqueID,不一定与默认按钮的ID相同。