2010-03-12 44 views
8

Tôi đã subclassed DropDownList để thêm chức năng cụ thể để ứng dụng của tôi:Làm thế nào để sử dụng một điều khiển phân lớp trên một trang ASP.NET?

public class MyDropDownList : DropDownList 
{ 
    ... 
} 

... sau đó tham chiếu nó trong Web.Config, đó là nơi tôi tìm mọi thứ bắt đầu đi sai:

<pages theme="Main"> 
    <controls> 
     <add tagPrefix="bob" tagName="MyDropDownList" src="~/Components/MyDropDownList.cs" /> 
    </controls> 
</pages> 

của tôi tham chiếu đến nó không hoạt động:

<tr><td>Category</td> 
    <td><bob:MyDropDownList runat="server" ID="Category"... /> 

và đầu mối tốt nhất của tôi là thông báo lỗi complier:

"The file 'src' is not a valid [sic] here because it doesn't expose a type." 

Tôi hiểu tôi đang hiểu sai về cách tạo Quyền kiểm soát người dùng web tại đây. Những gì tôi muốn để có thể làm là tham khảo điều khiển này trên một trang ASP.NET giống như tôi sẽ là phụ huynh DropDownList. Tái cấu trúc trở lại vào một điều khiển người dùng web có chứa một DropDownList là không mong muốn, bởi vì tôi muốn áp dụng một RequiredFieldValidator cho nó.

+0

Bạn chỉ thêm tệp cs bằng điều khiển MyDropDownList của mình? Tôi nghĩ rằng khi bạn tạo điều khiển mới, bạn luôn thêm cả tệp .ascx và .cs. –

Trả lời

7
<pages theme="Main"> 
    <controls> 
     <add tagPrefix="bob" namespace="MyProject" assembly="MyProject" /> 
    </controls> 
</pages> 

Điều đó cần thực hiện thủ thuật.

+0

Dựa trên những gì tôi đã đọc cho đến nay, điều này nghe có vẻ tốt hơn những gì tôi đang làm. Nó không hoạt động, tho ', và tôi nghĩ đó là bởi vì dự án có chứa là "Web Site" chứ không phải là "Web Application". Tôi sẽ tạo một tiểu dự án, thả nó vào đó, tạo tham chiếu thích hợp trong Web.Config rồi báo cáo lại. –

+0

Hoạt động! Cảm ơn bạn! –

4

@ Joops trả lời đã lưu tôi.

Điều tôi đã làm khác là đăng ký không gian tên ở đầu trang của mình vì tôi không cần nó ở khắp mọi nơi.

tức là.

<%@ Register TagPrefix="myTagPrefix" Namespace="MySolution.MyProject.Foo.Bar" 
     Assembly="MySolution.MyProject" %> 

cổ vũ Joop!

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