Как установить кнопку по умолчанию на странице контента с помощью asp.net?
Мне нужно установить кнопку по умолчанию для страницы содержимого. Мой код выглядит следующим образом:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
Он работает нормально, но в главном меню страницы есть одна кнопка изображения, такая как чат, я могу нажать клавишу ввода, чтобы запустить событие щелчка кнопки изображения, но не нажимает кнопку по умолчанию на странице содержимого.
Как справиться с этим типом проблемы?
Ответы
Ответ 1
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 + "');");
Ответ 2
Я решил аналогичную проблему со следующим кодом.
спасибо: 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>
Ответ 3
Оберните все элементы управления и кнопки asp.net внутри панели и установите свойство кнопки по умолчанию панели с идентификатором кнопки.
Ответ 4
this.Page.Form.DefaultButton = btnSave.ID;
Ответ 5
Попробуйте этот код
protected void Page_Load(object sender, EventArgs e)
{
this.form1.DefaultFocus = txtSearch.ClientID;
this.Form.DefaultButton = btnSearch.UniqueID;
}