将 DefaultButton 设置为 button.UniqueID 会引发异常
我试图解决的问题:
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
做:
更多信息在这里:
http://msdn.microsoft.com /en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx
do:
more info here:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx
您应该将控件的 ID 设置为非 UniqueID:
tagPanel.DefaultButton = btnAddTag.ID
You should set the control's ID not UniqueID:
tagPanel.DefaultButton = btnAddTag.ID