når du trykker enter i en textbox bliver din form submittet. Det er default behaviour i alle de browsere jeg kender.
Det er som oftest også fint nok, men i asp.net har man bare det problem, at hele siden er en stor form. I normal html, kan man jo bare lave flere forme der hører til hver sin del af siden. En login-form, søg-form osv. Dette er dog lidt problematisk i asp.net.
Jeg går ud fra at det er dette problem du er stødt ind i. Det kan dog løses rimelig enkelt med denne funktion. Brugen af den burde sige sig selv
protected void DefaultButton(TextBox textBox, Button button)
{
//Sets default buttons.
//Created by Janus Kamp Hansen -
http://www.kamp-hansen.dk StringBuilder sScript = new StringBuilder();
sScript.Append("<SCRIPT language=\"javascript\"> \n");
sScript.Append("function fnTrapKD(btn){ \n");
sScript.Append(" if (document.all){ \n");
sScript.Append(" if (event.keyCode == 13) \n");
sScript.Append(" { \n");
sScript.Append(" event.returnValue=false; \n");
sScript.Append(" event.cancel = true; \n");
sScript.Append(" btn.click(); \n");
sScript.Append(" } \n");
sScript.Append(" } \n");
sScript.Append("} \n");
sScript.Append("</SCRIPT> \n");
textBox.Attributes.Add("onkeydown", "fnTrapKD(document.all." + button.ClientID + ")");
this.RegisterStartupScript("ForceDefaultToScript", sScript.ToString());
}