2011-04-29 4 views
2

웹 프로젝트 및 웹 양식을 사용하고 있습니다. 웹 프로젝트로 어셈블리에 사용자 정의 클래스 등록

나는 사용자 정의 클래스

Namespace CustomWebControls 
    Public Class NoValidationDDL 
    Inherits DropDownList 


    End Class 
End Namespace 

만들고 난

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

조립 Web.config의 페이지 섹션에서이 클래스를 등록하고 ASCX에 사용하려고 시도

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

방법 웹 프로젝트에서이 작업을 수행 할 수 있습니까?

답변

2

프로젝트의 어셈블리 이름이 ae 인 것으로 가정합니다. 사용자 지정 컨트롤을 만들고 수정 한 후에 프로젝트를 빌드해야합니다. 업데이트 된 'ae.dll'이 bin 디렉토리에 존재하지 않으면 intellisense 등이 작동하지 않습니다.

는 대신의 Web.config를 수정, 당신은 또한 페이지에서 컨트롤을 등록하려고 할 수 있습니다 (영문) 또는 페이지 지시문 후 Register 지시문을 추가하여 제어 (ASCX) 수준 :

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

네하지만 여기에서 문제가 있습니다. bin에 웹 프로젝트 (파일 - 새 웹 사이트)를 사용하기 때문에 프로젝트의 어셈블리 DLL이 없습니다. 이것은 Properties AssemblyInfo.vb 파일에있는 웹 응용 프로그램이 아닙니다. 어쩌면 새로운 프로젝트 (서버 컨트롤 또는 다른 유형을 만들고이 프로젝트에 참조를 넣을 수 있음). – amchoni

+0

@ziks, 그래서 그것의 웹 사이트 프로젝트! 그러나 어셈블리 이름 'ae'가 어디서 왔습니까? 웹 사이트 프로젝트에서 어셈블리 이름은 생성 된 것입니다. 별도의 어셈블리 (프로젝트)에서 사용자 정의 컨트롤을 패키징하거나 웹 응용 프로그램 프로젝트를 사용해야합니다. – VinayC

관련 문제