我的网站上有一个搜索栏,但问题是当用户在他们的个人资料中时,我会显示一个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" />
答案 0 :(得分:1)
首先需要了解两个概念。
事实是,(普通)ASP.NET页面上的所有内容都在一个表单内。这也意味着像“按下输入发送表单”这样的事情有点棘手,因为他们提交了整个表单,这通常不是你想要的。
现在的概念:
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>