2008-09-18 4 views
3

스크립트 관리자가있는 ASP.NET 페이지가 있습니다.ScriptManager를 사용할 때 파서 오류가 발생했습니다.

<form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager EnablePageMethods="true" ID="scriptManager2" runat="server"> 
     </asp:ScriptManager> 
    </div> 
</form> 

페이지는 그것을 사용하는 기본 페이지를 가능하게하기 위해 스크립트 관리자를 반환하는 추상적 인 속성을 무시합니다

public partial class ReportWebForm : ReportPageBase 
{ 
    protected override ScriptManager ScriptManager 
    { 
     get { return scriptManager2; } 
    } 

    ... 
} 

그리고 기본 페이지 : I 실행

public abstract class ReportPageBase : Page 
{ 
    protected abstract ScriptManager ScriptManager { get; } 

    ... 
} 

프로젝트에서 다음 파서 오류가 발생합니다.

파서 오류 메시지 : 기본 클래스에는 'scriptManager2'필드가 있지만 해당 유형 (System.Web.UI.ScriptManager)은 컨트롤 유형 (System.Web.UI.ScriptManager)과 호환되지 않습니다.

어떻게 해결할 수 있습니까?

업데이트 : 디자이너 파일의 스크립트 관리자 부분은 다음과 같습니다

protected global::System.Web.UI.ScriptManager scriptManager; 
+0

디자이너 파일의 페이지 모양이 어떻게됩니까? 그것은 컨트롤에 대한 디자이너 정의가 마음에 들지 않는 것 같습니다. –

답변

5

난 당신의 코드 샘플 벌금을 컴파일 할 수 있습니다, 당신은 확실히 다 괜찮 확인하기 위해 디자이너 파일을 확인해야합니다.

EDIT : 내가 생각할 수있는 유일한 다른 점은 이것이 일종의 참조 문제라는 것입니다. System.Web.Extensions 참조가 대상 프레임 워크에 올바른 버전을 사용하고 있습니까? (.net 3.5의 경우 3.5.0.0, 2.0의 경우 1.0.6xxx 여야 함)

1

내 참조 된 System.Web.Extensions (v3.5.sth) 라이브러리에 참조와 동일한 버전이 없다는 것을 알았습니다. web.config (v.1.0.6sth). dll (3.5)을 System.Web.Extensions의 이전 버전으로 바꾸면 문제가 해결됩니다.

+0

하! 우리는 이것을 동시에 타이핑 했음에 틀림 없다! 문제 해결에 대한 축하! – Jared