2011-04-29 72 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