2012-06-11 2 views
0

내 자신의 사용자 정의 컨트롤을 사용하기 위해 자체의 유효성 검사 컨트롤러를 만들었습니다.디자인보기에서 '복잡한 개체'를 매개 변수로 전달할 수 없습니다.

내 문제 :

클래식 유효성 검사기는 '디자인보기'에서 매개 변수를 허용합니다.

이 형식의 개체를 만들 수 없습니다 :

<asp:RequiredFieldValidator ControlToValidate="txtFirstname" runat="server" /> 

내가 내 컨트롤에 동일한 작업을 수행하고 싶습니다,하지만 난 'ControlToValidate'컨트롤 ID를 통과 할 때 나타나는,이 오류가 발생합니다 'System.Web.UI.WebControls.WebControl' 'ControlToValidate'속성의 문자열 표현 'txtFirstname'에서 을 가져옵니다.

'ascx.cs'코드 숨김 페이지의 모든 것을 연결하지 않고 'ascx'페이지를 최대한 활용할 수 있도록 구현해야하는 패턴은 무엇입니까?

p.s. 나는 'ascx'페이지 '디자인보기'에서 만드는 '태그'를 호출하고 있는데, 아마도 잘못된 용어 인 것 같습니다. 절반은 내가 이것을 찾을 수없는 이유입니다.

+0

다른 사이트에서이 질문을하는 사람을 찾았습니다. 또한 일반 사용자 컨트롤 _에서 수행하려고하는 작업과 정확히 같지만 고전적인 ASP.NET (다른 컨트롤에 언급 된 MVC 대신)이 있습니다. http : //forums.asp.net/t/1247195.aspx/1 – Nnoel

답변

0

코드는 간단합니다 (.ascx의 모든)의 모양은 다음과 같습니다 당신이 하지이 같은 범위에 RequiredFieldValidator을 배치하는 것 같은데요

<asp:TextBox id="txtFirstName" 
     Text="Enter a value" 
     runat="server"/> 

<asp:RequiredFieldValidator id="RequiredFieldValidator1" 
     ControlToValidate="txtFirstName" 
     Text="Required Field!" 
     runat="server"/> 

-이 문제를 일으키는.

+0

저는 제가 만든 고유 한 사용자 지정 컨트롤을 System.Web.UI.Webcontrols.WebControl에서 확장하고 사용자 지정 유효성 검사기는 System을 확장합니다. Web.UI.Control, 그래서 당신의 대답은 아무 쓸모가있다. 주식 컨트롤이나 유효성 검사기를 사용하지 않습니다. – Nnoel

+0

@ Nnoel - 그러면 이것이 문제가 될 수 있습니다. 평범하지 않은 무언가를하고있을 수도 있습니다. 우리는 여기서 그것을 볼 수 없습니다. –

+0

좋아, 내 문제를 재현하기위한 간단한 지침 : 1. 자신 만의 사용자 정의 컨트롤 [control1] (원하는 경우 텍스트 상자 확장)을 만든 다음 다른 사용자 정의 컨트롤 [control2] (System.Web.UI.Control 확장)을 만들고 create control2에서 typeof (control1)의 속성을 확인한 다음 'ascx'페이지를 통해서만 control1을 control2에 전달할 수 있는지 확인하십시오. 심플 스. 나는 이미지를 미리로드해야하는 각 컨트롤에 액세스해야하는 '이미지 프리 로더'와 같은 동일한 작업을 수행해야하는 다른 컨트롤을 가지고 있는데, 모두 ascx의 매개 변수로 전달되는 코드에서 '링크'되어야합니다. '작동하지 않습니다. – Nnoel

관련 문제