2011-01-31 37 views
5

Sự cố tôi đang cố giải quyết:Đặt DefaultButton thành nút.UniqueID ném ngoại lệ

Tôi có một vài hộp văn bản trong một asp:Panel. Khi người dùng truy cập Enter từ bất kỳ hộp nào trong số đó, tôi muốn biểu mẫu gửi như thể họ đã nhấp vào btnAddTag. (Khi con trỏ không có trong những hộp, tôi có một mặc định khác nhau nút gửi.)

Các aspx:

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

Các vb:

tagPanel.DefaultButton = btnAddTag.UniqueID 

Trường hợp ngoại lệ:

DefaultButton của 'tagPanel' phải là ID của kiểm soát loại IButtonControl.

Giá trị btnAddTag.UniqueID là có trang chính, phần này được gọi là phMain).

Tôi cũng đã thử CType(tagPanel.FindControl("btnAddTag"), Button).UniqueID.

+0

trong hoàn cảnh của tôi, Tôi đã thiếu một 'bên ngoài' 'trong đó tôi không biết tôi cần thiết. Chỉ nghĩ rằng tôi muốn chia sẻ – jbutler483

Trả lời

3

làm:

tagPanel.DefaultButton = btnAddTag.ID 

biết thêm ở đây: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.defaultbutton.aspx

+0

Điều đó đã hiệu quả! Mặc dù tôi không biết tại sao, ở mọi nơi khác tôi dường như cần UniqueID ... – egrunin

+0

Bạn phải sử dụng "đường dẫn" tương đối. Có nghĩa là, sử dụng một chuỗi tương tự như UniqueID để nó cung cấp một đường dẫn từ container xuống điều khiển con. Tôi chưa bao giờ thấy tài liệu này ở bất kỳ đâu ngoài các bài đăng Hỏi/Đáp. http://connect.microsoft.com/VisualStudio/feedback/details/103530/defaultbutton-in-panel-for-wizard-errs –

0

Bạn nên đặt ID của kiểm soát không UniqueID:

tagPanel.DefaultButton = btnAddTag.ID

Các vấn đề liên quan