我需要设置内容页的默认按钮。我的代码如下:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
我的网页正常运行,但是我的母版页菜单有一个图像按钮,例如聊天,我可以按回车键触发图像按钮的点击事件,但无法触发内容页中的默认按钮。
如何处理这种问题?
我需要设置内容页的默认按钮。我的代码如下:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
我的网页正常运行,但是我的母版页菜单有一个图像按钮,例如聊天,我可以按回车键触发图像按钮的点击事件,但无法触发内容页中的默认按钮。
如何处理这种问题?
1) 你只需要执行以下操作:
this.Form.DefaultButton = this.btnId.UniqueID;
或者
2) 使用 Javascript:
function clickButton(e, buttonid)
{
var evt = e ? e : window.event;
var bt = document.getElementById(buttonid);
if (bt)
{
if (evt.keyCode == 13)
{
bt.click();
return false;
}
}
}
并且从代码后端:
ContentPage.Attributes.Add("onkeypress", "javascript:return
clickButton(event,'" + btnSearch.ClientID + "');");
this.Form
替代 contentpageid
。 - Vishal Suthar我用以下代码解决了类似的问题。
感谢:http://www.w3schools.com/aspnet/prop_webcontrol_panel_defaultbutton.asp
<form runat="server">
<asp:Panel runat="server" DefaultButton="bt1">
<asp:TextBox runat="server" />
<asp:Button id="bt1" Text="Default" runat="server" />
</asp:Panel>
</form>
将所有的asp.net控件和按钮都放在Panel中,并将Panel的默认按钮属性设置为某个按钮的id。
protected void Page_Load(object sender, EventArgs e)
{
this.form1.DefaultFocus = txtSearch.ClientID;
this.Form.DefaultButton = btnSearch.UniqueID;
}
this.Page.Form.DefaultButton = btnSave.ID;
btnSave.UniqueID
。 - BRass