На страницах ASP.NET бывает удобно группировать элементы управления, которые связаны между собой по смыслу, внутри одного контрола Panel, который в браузер пользователя приходит в конечном счёте как обыкновенный <div>. Особенно если у этой панели заданы видимые границы.
Рассмотрим такой пример. Пусть на странице имеется две панели, в каждой есть поле ввода и кнопка. Логично предположить, что если ввести что-нибудь в текстовое поле в любой из этих панелей и нажать Enter, то выполнится действие, аналогичное действию кнопки в этой же панели. Но если специально это не указать, то при нажатии Enter'а в любом текстовом поле на странице будет происходить одно и то же действие, как будто всякий раз происходит нажатие на одну и ту же кнопку, что может запутать пользователя.
Поэтому воспользуемся свойством DefaultButton контрола Panel:
<asp:Panel ID="NavigateBySaleNumberPanel" runat="server" DefaultButton="NavigateBySaleNumberButton">
<span>№ объявления для быстрого перехода:</span>
<asp:TextBox ID="SaleNumberTextBox" runat="server" Width="55px"></asp:TextBox>
<asp:Button ID="NavigateBySaleNumberButton" runat="server" Text="Перейти"
onclick="NavigateBySaleNumberButton_Click" />
</asp:Panel>
<asp:Panel runat="server" ID="SearchPanel" DefaultButton="SearchButton">
<span>Введите текст для поиска:</span>
<asp:TextBox ID="SearchTextBox" runat="server"></asp:TextBox>
<asp:Button ID="SearchButton" runat="server" Text="Найти объявления" OnClick="SearchButton_Click" />
</asp:Panel>
Теперь у каждой панели есть своя "кнопка по умолчанию".
Комментариев нет:
Отправить комментарий