Установка DefaultButton для button.UniqueID выдает исключение - PullRequest
5 голосов
/ 31 января 2011

Проблема, которую я пытаюсь решить:

У меня есть несколько текстовых полей в asp:Panel. Когда пользователь нажимает Enter в любом из этих полей, я хочу, чтобы форма отправлялась так, как будто он нажал btnAddTag. (Когда курсор находится не в этих полях, у меня есть другая кнопка отправки по умолчанию.)

aspx:

<asp:Panel id="thePanel" runat="server">
    <asp:Button ID="btnAddTag" Text="Add Tag" runat="server" />
</asp:Panel>

VB:

tagPanel.DefaultButton = btnAddTag.UniqueID

Исключение:

DefaultButton для tagPanel должен быть идентификатором элемента управления типа IButtonControl.

Значение btnAddTag.UniqueID равно ctl00$phMain$btnAddTag (есть главная страница, этот раздел называется phMain).

Я тоже пробовал CType(tagPanel.FindControl("btnAddTag"), Button).UniqueID.

Ответы [ 2 ]

3 голосов
/ 31 января 2011

сделать:

tagPanel.DefaultButton = btnAddTag.ID

подробнее здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx

0 голосов
/ 31 января 2011

Вы должны установить идентификатор элемента управления, а не UniqueID:

tagPanel.DefaultButton = btnAddTag.ID

...