İpucu

ASP.NET ile uygulama geliştirirken sayfamız içerisinde birden fazla button varsa enter tuşuna basınca alakası olmayan bir button`un eventi çalışır yada varsa sayfamızdaki validatorlar çalışır. Bunu çözmek için Javascript kullanabiliriz,

txtBox1.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById(`" + Button1.UniqueID + "`).click();return false;}} else {return true}; ");

Yukarıdaki javascript kısmen de olsa işimiz görse de bazı browserlar da sorun çıkarır. (Örneğin Firefox). Tabi bununda çözümü var. ASP.NET 2.0 ile birlikte formlarımıza ve panellerimize default button atayabiliyoruz. Panel içerisinde enter`a basıldığında hangi buttonun click eventinin tetikleneceğini DefaultButton propertysinden belirleyebiliyoruz. Örnek kullanım aşağıdaki gibidir;

<form id="frm1" defaultbutton="Tikla1" runat="server">
<asp:textbox id="txt1" runat="server"/>
<asp:button id="Tikla1" text="Form`a Ait Buton" runat="server"/>
<asp:panel ID="Panel1" defaultbutton="tikla2" runat="server">
<asp:textbox id="txt2" runat="server"/>
<asp:button id="tikla2" text="Panel`e Ait Buton" runat="server"/>
</asp:panel>
</form>