ASP.Net 2.0 также представил концепцию DefaultButton.
Доступно по крайней мере для элементов формы и панели:
<form id="form1" runat="server" defaultbutton="Button2">
<div>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button id="Button1" runat="server" text="1st Button" onclick="Button1_Click" />
<br />
<br />
<asp:panel id="something" defaultbutton="button3" runat="server">
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:Button id="Button2" runat="server" text="2nd Button" onclick="Button2_Click" />
<br />
<asp:Button id="Button3" runat="server" text="3rd Button" onclick="Button3_Click" />
</asp:panel>
<br />
<br />
</div>
</form>
Таким образом, когда вы загружаете страницу или вводите текст в TextBox1, нажатие клавиши Enter отправит Button2. Когда вы вводите текст в TextBox2, нажмите Enter, чтобы отправить Button3 - как вы находитесь внутри Panel.
Это питание от метода onkeypress, созданного ASP.Net.
Когда страница загружается, IE и Firefox подсвечивают Button2 (как вы хотите).
Если вы знаете, какая кнопка будет объявлена в качестве кнопки по умолчанию, вы можете использовать любой CSS, который вы обычно используете, чтобы стилизовать ее для всех браузеров.
Скорее досадно, когда вы фокусируете любое текстовое поле, IE затем (неправильно) выделит Button1.
Это связано с тем, что поведение IE по умолчанию переопределяется некоторым JavaScript, генерируемым ASP.Net:
.
<script type="text/javascript">
//<![CDATA[
WebForm_AutoFocus('Button2');//]]>
</script>
Но IE затем проигнорирует это, как только другой элемент окажется в фокусе, и вернется к выделению неправильной кнопки (которая не используется, если пользователь явно не щелкнет ее в этом примере).
Кроме замены их кнопками изображений, я не уверен, что еще я могу предложить.