在 aspx 页上输入触发响应的键.重定向
Enter Key firing off an Response.Redirect on aspx page
希望有人能帮忙。我正在一个 aspx 站点上工作,使用 c# 作为隐藏代码。我有 3 个输入框,但是当我的光标在其中一个输入框中时,它似乎触发了search_Click代码,如果光标在搜索框中很好,但它似乎在光标在用户名和密码文本框中时这样做。我没有任何 javascript 触发此事件,想要做的是,如果用户在 searchBox 中并点击回车键,他们会触发Search_Click否则,如果他们在用户名或密码文本框中并按回车键,他们会触发与login_Click相关的代码。希望这是有道理的,任何人都知道为什么它会触发 Response.Redirect,即使我没有 javascript/jquery 来传达它。
//Front end aspx page
<input type="text" class="searchBox" autocomplete="off" id="searchBox" name="searchBox" runat="server" />
<asp:Button ID="searchBtn" class="searchBtn" runat="server" onclick="search_Click" />
<li>
<asp:Label ID="UserNameLabel" AssociatedControlID="UserName" runat="server" Text="Username :" CssClass="usernamelabel" />
<asp:TextBox ID="UserName" runat="server" ValidationGroup="RegisterValidationGroup" CssClass="Username-Password" />
</li>
<li>
<asp:Label ID="PasswordLabel" AssociatedControlID="Password" runat="server" Text="Password :" CssClass="usernamelabel" />
<asp:TextBox ID="Password" runat="server" ValidationGroup="RegisterValidationGroup" TextMode="Password" CssClass="Username-Password" />
</li>
<li>
<asp:Button ID="loginBtn" class="loginBtn" Text="Login" runat="server" onclick="Login_Click" />
</li>
//C# Code behind
protected void search_Click(object sender, EventArgs e)
{
Response.Redirect("/SearchResults.aspx?q=" + Server.UrlPathEncode(searchBox.Value));
}
你可以
试试
<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
除非我误解了你的问题,否则你可以使用 asp:Panel
对象的 DefaultButton
属性
对于您的登录,请使用类似...(未经测试)
<asp:Panel runat="server" DefaultButton="btnLogin">
<asp:TextBox runat="server" id="txtUsername" />
<asp:TextBox runat="server" id="txtPassword" TextMode="Password"/>
<asp:Button runat="server" id="btnLogin" Text="Login" />
</asp:Panel>
然后为了你的搜索有...(未经测试)
<asp:Panel runat="server" DefaultButton="btnSearch">
<asp:TextBox runat="server" id="txtSearch" />
<asp:Button runat="server" id="btnSearch" />
</asp:Panel>
这背后的想法是,如果焦点在asp:Panel
内的asp:TextBox
上,按回车键将启动DefaultButton
。 如果您不希望某个特定服务器导致回发到服务器,请更新DefaultButton
,使其自动取消,例如...
<asp:Button runat="server" id="btnSearch" OnClientClick="return false;" />
您可以在面板中包含不希望默认表单提交行为的文本框,并设置其 DefaultButton 属性。
您可以创建一个面板,将搜索文本框和按钮放入此面板中,然后设置 DefaultButton="searchBtn"。我参考了这个链接:https://stackoverflow.com/a/7836069/1380428
相关文章:
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- 在Ajax响应后使用window.location.replaces不会立即重定向
- 重定向到json响应中的url
- 使用响应重定向退出弹出窗口
- AngularJs $http postsuccessCallback 导致页面重定向,即使服务器以 200 状态响应也
- CakePHP 3 Json 响应而不是重定向(如果 ext = json )
- 在 aspx 页上输入触发响应的键.重定向
- HTTP 200 + 空响应 + 重定向
- XMLHttpRequest 无法加载 [url].预检响应无效(重定向)
- 重定向到新页面作为对 XHR 发布请求的响应
- 当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调
- 如何在会话过期时从 ajax 响应自动重定向网页
- 单击后响应重定向到路由器 URL 并显示默认页面
- 如何在响应重定向到成功网址后完成活动 Payu paymentgetway 与安卓.
- 响应.重定向和javascript ajax调用
- 响应.重定向在使用session的node.js中不起作用
- 窗口.导航vs响应.重定向,有什么区别
- 发送GET请求并将响应重定向到浏览器以下载文件
- 当抛出错误时,将响应重定向到HTTP 500错误处理程序
- 响应.重定向消除了脚本管理器操作