在任何文本框中按Enter键时,将触发更改密码

时间:2014-02-10 09:24:58

标签: c# asp.net

我的网站上有一个搜索栏,但问题是当用户在他们的个人资料中时,我会显示一个changepassword asp.net对象。我正在使用Visual Studio 2012。

<asp:ChangePassword ID="ChangePassword1" runat="server" SuccessTextStyle-HorizontalAlign="Center" CancelButtonText="" CancelButtonType="Link" ContinueButtonText="" ContinueButtonType="Link">
</asp:ChangePassword>

当我尝试添加搜索栏时

<asp:TextBox ID="txtSearch123" runat="server" OnTextChanged="txtSearch123_TextChanged" Width="217px" Text="Search for an item..." OnClick="this.value=''" AutoCompleteType="Disabled"></asp:TextBox>

当用户按下回车键时,搜索永远不会完成,因为更改密码中的文本框是空的,并且它们会亮起,就好像用户正在尝试更改其密码一样。即使他们没有联系到什么。

有什么想法吗?

以下作品:

<asp:ChangePassword ID="ChangePassword2" runat="server" ValidationGroup="Password"> </asp:ChangePassword>

<asp:TextBox ID="txtSearch123" runat="server" OnTextChanged="txtSearch123_TextChanged" Width="155px" Text="Search for an item..." OnClick="this.value=''" AutoCompleteType="Disabled" ValidationGroup="SearchItem"></asp:TextBox>

<asp:Button ID="btnSearch" runat="server" Text="" Width="0" Height="0" ValidationGroup="SearchItem" Visible="false" />

如果不起作用,请执行以下操作......

使用与文本框相同的验证创建一个按钮。 将按钮的高度和宽度设置为0。 将边框类型设置为none 将按钮的背景设置为您尝试将其放置的背景。 Boom,您的按钮隐藏在视线范围内,您的验证组仍然有效。

<asp:TextBox ID="txtSearch123" runat="server" OnTextChanged="txtSearch123_TextChanged" Width="217px" Text="Search for an item..." OnClick="this.value=''" AutoCompleteType="Disabled" ValidationGroup="SearchItem"></asp:TextBox>

<asp:Button ID="btnSearch" runat="server" Text="" Width="0" Height="0" ValidationGroup="SearchItem" BackColor="#5F605F" BorderStyle="None" />

2 个答案:

答案 0 :(得分:1)

首先需要了解两个概念。

事实是,(普通)ASP.NET页面上的所有内容都在一个表单内。这也意味着像“按下输入发送表单”这样的事情有点棘手,因为他们提交了整个表单,这通常不是你想要的。

现在的概念:

  • ValidationGroup - .NET验证器(和按钮等)上的此设置允许您在一个superform中分隔不同的逻辑形式。验证器仅评估提交操作的发起者(例如“更改密码按钮”)是否在同一ValidationGroup中。正确配置验证组应该会使问题的这一部分消失。
  • 输入按键时会发生什么 - 默认情况下,您发送整个表单,而不执行任何按钮操作。因此,如果您在一个页面上有多个逻辑表单,则必须将每个逻辑表单放在其自己的Panel内,该DefaultButton具有{{1}}属性,该属性表示“如果我在此面板中按Enter,它将执行好像我点击了这个按钮“。

答案 1 :(得分:0)

在TextBox中设置 ValidationGroup

<asp:TextBox ID="txtSearch123" runat="server" OnTextChanged="txtSearch123_TextChanged" Width="217px" Text="Search for an item..." OnClick="this.value=''" AutoCompleteType="Disabled" ValidaionGroup="Something"></asp:TextBox>

Specifying Validation Groups