2008-10-24 24 views
9

Tôi có một số điều khiển tùy chỉnh mà tôi đang cố gắng bật hỗ trợ thiết kế cho. Chữ ký trông giống như sau:Cách xác định "TagPrefix" mặc định cho các điều khiển tùy chỉnh

[ToolboxData("<{0}:MyDropDownList runat=\"server\" CustomProp="123"></{0}:MyDropDownList>")] 
public class MyDropDownList: DropDownList 
{ 
    ... code here 
} 

này hoạt động tốt, nhưng khi tôi kéo một điều khiển lên trang từ hộp công cụ, các TagPrefix mà được thêm vào là "cc1":

<%@ Register Assembly="DBMClientPortal.Controls" Namespace="DBMClientPortal.Controls" 
    TagPrefix="cc1" %> 

Rõ ràng nó là hơi không liên quan gì mà TagPrefix là ... nó hoạt động như nó đứng, nhưng tôi figured tôi phải có thể thay đổi nó bằng cách nào đó và tò mò có tốt hơn của tôi ...

Bất cứ ai biết làm thế nào để xác định những gì TagPrefix wi sẽ được đặt thành khi kéo điều khiển tùy chỉnh vào một trang trong studio trực quan?

Cảm ơn, Max

Trả lời

6

Nó trông giống như sau:

[assembly:TagPrefix("MyControls","RequiredTextBox")] 

here's một số thông tin thêm về nó.

+0

Nhưng khi chúng tôi thêm [assembly: TagPrefix ("MyControls", "RequiredTextBox")] điều khiển này không thể thêm vào hộp công cụ. Lỗi: Không có thành phần nào trong DLL có thể được đặt trên hộp công cụ – Elshan

1

FYI, thuộc tính TagPrefix chỉ là một đề xuất cho Visual Studio và các công cụ thiết kế khác. Nếu người dùng đã có không gian tên của bạn được đăng ký với một tiền tố thẻ khác thì bạn có thể sử dụng tiền tố thẻ đó miễn phí. Ngoài ra, nếu tiền tố thẻ đề xuất của bạn đã được sử dụng và trỏ đến một không gian tên khác, thì Visual Studio sẽ sử dụng tiền tố thẻ được tạo tự động thay thế.

Tuy nhiên, tỷ lệ cược của một trong số đó xảy ra là khá nhỏ nếu bạn chọn tiền tố thẻ dựa trên tên sản phẩm hoặc tên công ty của bạn.

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