虽然,我想在btnSearchSuiteGroup_Click
上按“输入”时触发txtSuiteGroupName
事件,在aspx中描述,代码如下:
<asp:TextBox ID="txtSuiteGroupName" runat="server" clientidmode="Static" CssClass="DD" onkeypress="return searchKeyPress(event)"></asp:TextBox>
<asp:Button ID="btnSearchSuiteGroup" runat="server" Text="Search" CssClass="DD" Width="64px" onclick="btnSearchSuiteGroup_Click" />
<script type="text/javascript">
function searchKeyPress(e) {
// look for window.event in case event isn't passed in
if (typeof e == 'undefined' && window.event) { e = window.event; }
if (e.keyCode == 13) {
document.getElementById('<%=btnSearchSuiteGroup.ClientID%>').click();
}
}
</script>
虽然在源cs文件中定义了btnSearchSuiteGroup_Click
:
protected void btnSearchSuiteGroup_Click(object sender, EventArgs e)
{
this.LinqDataSource1.WhereParameters["SuiteGroupName"].DefaultValue = this.txtSuiteGroupName.Text;
this.GridView1.DataBind();
if (GridView1.Rows.Count == 0)
Response.Write("<script language='javascript'>window.alert('No record found!')</script>");
}
当我浏览网站时,文本框上的按键无法启动按钮点击事件,代码中有什么问题?
答案 0 :(得分:9)
如果您使用Panel
,则无需使用任何javascript功能。您可以为面板指定默认button
ID,如下所示
<asp:Panel runat="server" DefaultButton="btnSearchSuiteGroup">
<asp:TextBox ID="txtSuiteGroupName" runat="server" clientidmode="Static" CssClass="DD">
</asp:TextBox>
<asp:Button ID="btnSearchSuiteGroup" runat="server" Text="Search" CssClass="DD" Width="64px" onclick="btnSearchSuiteGroup_Click" />
</asp:Button>
</asp:Panel>
OfCourse,您可以在单个页面上拥有多个panels
,以便为单独的buttons
分配不同的默认panels
!
答案 1 :(得分:0)
我建议使用以下方法: 1.创建一个'ButtonClick'函数,并将'btnSearchSuiteGroup_Click'函数中的所有代码放入其中。 2.通过查看this thread为文本框'txtSuiteGroupName'添加'onkeypress'事件 3.每当触发上述事件时,查看输入的密钥是否为“Enter”。 4.如果键是“Enter”键,则调用“ButtonClick”功能。