Несколько кнопок по умолчанию в пользовательском элементе управления - PullRequest
3 голосов
/ 11 января 2010

У меня есть пользовательский элемент управления, который состоит из 3 текстовых полей, 3 кнопок и вида сетки. Я могу установить свойство defaultbutton формы, но это повлияет только на одну кнопку.

Каждое комбинированное поле текста / кнопки должно иметь такое поведение, что, когда текстовое поле имеет фокус, нажатие клавиши Enter вызывает соответствующую ему кнопку.

Чтобы еще больше усложнить проблему, она используется внутри реализации мастер-страницы.

Есть ли способ сделать это? Насколько я могу судить, в .NET будет разрешена только одна кнопка по умолчанию - она ​​не позволяет явно связывать текстовые поля и кнопки.

Я приветствую ваши идеи.

Ответы [ 3 ]

4 голосов
/ 11 января 2010

Здесь один путь:

<form id="form1" runat="server">
<div>
    <asp:Panel ID="Panel1" DefaultButton="Button1" runat="server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </asp:Panel>
    <asp:Panel ID="Panel2" DefaultButton="Button2" runat="server">
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button2" runat="server" Text="Button" />
    </asp:Panel>
    <asp:Panel ID="Panel3" DefaultButton="Button3" runat="server">
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button3" runat="server" Text="Button" />
    </asp:Panel>
</div>
</form>
0 голосов
/ 11 января 2010

Вы можете отключить кнопку по умолчанию и обработать событие onKeyPress текстового поля.

0 голосов
/ 11 января 2010

Попробуйте создать отдельный пользовательский элемент управления для каждого набора TextBox / Button. Таким образом, каждое текстовое поле будет запускать свою связанную кнопку.

...