ContentPage上有一个文本框。当用户在该文本框中按Enter时,我试图在此ContentPage上触发“提交”按钮。我想触发该特定按钮的事件。
而是在MasterPage的页面顶部有一个搜索文本框和按钮,并且此搜索按钮的事件触发。
如何控制触发此ContentPage的Submit按钮,而不是MasterPage的搜索按钮?
我正在使用Ektron CMS进行内容管理。
ContentPage上有一个文本框。当用户在该文本框中按Enter时,我试图在此ContentPage上触发“提交”按钮。我想触发该特定按钮的事件。
而是在MasterPage的页面顶部有一个搜索文本框和按钮,并且此搜索按钮的事件触发。
如何控制触发此ContentPage的Submit按钮,而不是MasterPage的搜索按钮?
我正在使用Ektron CMS进行内容管理。
Answers:
最简单的方法是将字段和按钮放在面板内,并将默认按钮设置为要在回车时激活的按钮。
<asp:Panel ID="p" runat="server" DefaultButton="myButton">
<%-- Text boxes here --%>
<asp:Button ID="myButton" runat="server" />
</asp:Panel>
onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_MainContentPlaceHolder_btnSave')">
您的网页中添加了类似 内容
TextBox
和Button
放在相同的内,则可以执行相同的操作Panel
。然后设置DefaultButton属性。
您可以DefaultButton
在服务器端form
控件或Panel
控件上使用该属性。在您的情况下,请将控件分组到一个Panel
应触发相同按钮的位置:
<asp:Panel ID="SearchBox" runat="server" DefaultButton="BtnSearch">
...
<asp:Button ID="BtnSearch" runat="server" Text="Search!" />
</asp:Panel>
....
<asp:Panel ID="UserPanel" runat="server" DefaultButton="BtnUserSubmit">
...
<asp:Button ID="BtnUserSubmit" runat="server" Text="Submit" />
</asp:Panel>
现在,您可以使用UseSubmitBehavior属性来禁用所有您不想在单击“提交”时触发的按钮(有关更多信息,请参阅文档)
<asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />
微软说:
<form id="Form1"
defaultbutton="SubmitButton"
defaultfocus="TextBox1"
runat="server">