2011-04-29 107 views
2

我正在使用web項目和web表單。使用web項目在程序集中註冊自定義類

創建自定義類

Namespace CustomWebControls 
    Public Class NoValidationDDL 
    Inherits DropDownList 


    End Class 
End Namespace 

和我嘗試註冊在web.config中組裝頁面部分該類

<controls> 
     <add tagPrefix="customDDL" namespace="CustomWebControls" assembly="ae" /> 
</controls> 

,並嘗試在ASCX使用

<customDDL:NoValidationDDL ID ="id" runat="server"></customDDL:NoValidationDDL> 

如何我可以在web項目中做到這一點嗎?

回答

2

這應該工作(假定您的項目的程序集名稱爲ae) - 確保在創建/修改您的自定義控件後生成項目。除非在您的bin目錄中更新'ae.dll',否則intellisense等將不起作用。

而不是修改web.config中,你也可以嘗試在頁面註冊控制(C++)或頁指令後添加寄存器指令控制(ASCX)級別:

<%@ Register Assembly="ae" Namespace="CustomWebControls" TagPrefix="customDDL" %> 
+0

是的,但是我在這裏有一個問題。因爲我在bin中使用web項目(文件 - 新網站),我沒有項目的程序集dll。這不是我在屬性AssemblyInfo.vb文件中的Web應用程序。也許我可以創建新的項目(服務器控制或其他類型,並在此項目中提供參考)。 – amchoni 2011-04-29 12:05:31

+0

@ziks,所以它的一個網站項目!但是從名稱'ae'來自哪裏?在網站項目中,程序集名稱將是生成的。您必須將自定義控件包裝在單獨的程序集(項目)中或使用Web應用程序項目。 – VinayC 2011-04-29 12:32:16