Default Focus, Buttons and Validation Errors

Programming
Предыдущий Следующий

Есть серия моментов на ASP.NET, которые упрощают жизнь пользователю, но программисты про нее забывают.  Опишу несколько из них.

Начну с кнопки по-умолчанию (DefaultButton="btnSubmit")

Это свойство имеет form и asp:panel. Пример:

  <html>body>

<form defaultbutton=“button1” runat=“server”>

       <asp:button id=“button1” text=“Same Page” runat=“server”/>

       <asp:panel defaultbutton=“button2” runat=“server”>

             <asp:textbox id=“foo” runat=“server”/>

             <asp:button id=“button2” runat=“server”/>

        </asp:panel>

</form>body>html>

 Когда мы будем находиться внутри panel, то при нажатии на Enter будет срабатывать кнопка button2, на остальном участке сайта будет срабатывать кнопка button1

 Следующие свойство (defaultfocus="textbox2").

  Оно будет устанавливать фокус на объект при загрузки страницы. Это свойство имеет тег form. Если вы используете MasterPage, то тогда этому свойству нужно присваивать ClientID контрола. Думаю без примера все понятно.

 Свойство фокусировки при возникновении ошибки (SetFocusOnError="true")

 Это свойство имеют в своем распоряжении валидаторы. Что бы стало более понятно пример:

<asp:TextBox ID="TextBox3“ runat="server“ />

  <asp:RequiredFieldValidator ID="RequiredFieldValidator1"

                   SetFocusOnError ="true"

                   ErrorMessage="TextBox3 is empty"

                   ControlToValidate="TextBox3" runat="server“ />

Если сработает валидатор, то он установит фокус на объект TextBox3

И на последок еще одно замечательное свойство ( AssociatedControlID="txtBox" ) Это свойство имеет контрол asp:Label. Если его установить, то при нажатии на Label фокус будет установлен на указанный контрол. Этот эффект я использую при создании странички с анкетами.

На этом все

 

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси