최근 상업적으로 사용 가능한 ASP.NET 제품을 다루었습니다.캐스팅 UserControl ASP.control_name_ascx vs Control_Name - 장점/단점?
Dim ctl As ASP.modules_controls_addressinput_ascx = DirectCast(Me.FindControl("AddressInput1"), ASP.modules_controls_addressinput_ascx)
가 최근에 나는 내가 공개에 액세스 할 수 있습니다 내 자신의 프로젝트 중 하나에 자사의 특정 유형에 UserControl을 캐스팅하기 위해 필요한 : 코드에서 주위를 파고 때, 나는이처럼 보였다 UserControl을 주조 있다는 것을 발견 속성과 자연스럽게 내가 그것을 할 다른 방법을 보지 못했기 때문에 위에서 캐스팅 메서드를 복사했습니다.
그러나이 유형의 캐스팅을 사용하여 프로젝트를 배포 할 때는 "빌드"하지만 "알 수없는 유형"오류가있는 "게시"를 시도하면 실패합니다. 해당 UserControl이 ascx.vb 파일에 다음과 같이 선언
Dim ctl As Modules_Controls_AddressInput = DirectCast(Me.FindControl("AddressInput1"), Modules_Controls_AddressInput)
: 실제로
Partial Class Modules_Controls_AddressInput
Inherits System.Web.UI.UserControl
그리고이 일부 땜질 후, 나는 같이 일하는 것이 선언 된 클래스의 유형은 다음과 실현 또한 출판 문제를 해결했습니다.
제 질문은 누군가에게 첫 번째 방법과 두 번째 방법을 비교하도록 강요합니다. 특히 프로젝트 게시가 실패한다는 것을 의미 할 때 그렇습니다.
감사를 참조 할 수 있습니다
ASP.Net
에서 사용자 컨트롤에 대한 자세한 자세한 내용은의 인스턴스를 생성
LoadControl("UserControlPath")
를 사용합니다. +1이 ASP.NET 임시 폴더를 참조하고 있다고 설명하지만, 왜 누군가가 그렇게하고 싶은지에 대한 대답은 클래스 자체에 캐스팅하지 않았습니다. – NightOwl888