将 DefaultButton 设置为 button.UniqueID 会引发异常

发布于 2024-10-14 22:02:30 字数 727 浏览 2 评论 0原文

我试图解决的问题:

我在 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

例外:

'tagPanel' 的 DefaultButton 必须 是类型控件的 ID IButtonControl。

btnAddTag.UniqueID 的值为 ctl00$phMain$btnAddTag(有一个母版页,此部分称为 phMain)。

我还尝试过CType(tagPanel.FindControl("btnAddTag"), Button).UniqueID

The problem I'm trying to solve:

I have several text boxes in an asp:Panel. When the user hits Enter from any of those boxes, I want the form to submit as if they've clicked btnAddTag. (When the cursor is not in those boxes, I have a different default submit button.)

The aspx:

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

The vb:

tagPanel.DefaultButton = btnAddTag.UniqueID

The exception:

The DefaultButton of 'tagPanel' must
be the ID of a control of type
IButtonControl.

The value of btnAddTag.UniqueID is ctl00$phMain$btnAddTag (there's a master page, this section is called phMain).

I've also tried CType(tagPanel.FindControl("btnAddTag"), Button).UniqueID.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静谧 2024-10-21 22:02:30

您应该将控件的 ID 设置为非 UniqueID:

tagPanel.DefaultButton = btnAddTag.ID

You should set the control's ID not UniqueID:

tagPanel.DefaultButton = btnAddTag.ID

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文