2

.ascx 페이지에서 사용해야하는 웹 서비스를 만들었습니다. 그냥 다음을 추가 할 수 없습니다.DNN의 .ascx 웹 사용자 정의 컨트롤에서 ScriptManager를 업데이트하려면 어떻게해야합니까?

<asp:ScriptManager ID="OWUScripts" runat="server"> 
    <Services> 
     <asp:ServiceReference Path="~/OWUDashboard.asmx" /> 
    </Services> 
</asp:ScriptManager> 

페이지에 여러 개의 ScriptManagers가 있기 때문에. 그래서 나는 조금 연구를하고 ... 나는 Page_Load 이벤트에이를 추가 할 필요가

Dim myScriptManager As ScriptManager = ScriptManager.GetCurrent(Me.Page) 

Dim objServiceReference As ServiceReference = New ServiceReference() 
objServiceReference.Path = "~/MyService.asmx" 
myScriptManager .Services.Add(objServiceReference) 

을 발견하지만 한 사전 설정 (그것이 인으로 이미 이후 나는 Page_Load 이벤트에 액세스 할 수 없습니다 피부와 모든 것) 그래서 나는 그 사이에 코드를 던졌다 <script runat="server"></script>

그러나 그것은 내가 "Declaration Expected"라고 말하는 오류를주고있다. 나는 몇 줄을 꺼내서 그것을 발견 할 수 없다고 생각되었다. 아니면 null이오고 있었다)

내가 뭘 잘못하고 있는지에 대한 통찰력?

나는 같은 다른 방법으로해야합니까 또는 <script runat="server">에서 Me.Page에 액세스 할 수 있습니까?

+0

, 당신은 모두 당신이 피부에이를 사용하거나 모듈되어 있습니다. 어느 쪽 이냐? –

+0

죄송합니다. 피부입니다. – Matt

답변

4

이러한 경우에는 참조를 선언적으로 추가하는 데 사용할 수있는 ScriptManagerProxy 클래스가 있습니다. 프록시 클래스는 이미 "부모"페이지에 ScriptManger가 정의되어있을 때마다 사용됩니다. ScriptManagerProxy는 일반 ScriptManager와 동일한 방식으로 작업합니다. 프록시 클래스에 대한 자세한 내용은 here.

예 마크 업을 찾을 수 있습니다

질문에서
<asp:ScriptManagerProxy runat="server" ID="Manager"> 
<Scripts> 
    <asp:ScriptReference Path="~/JScript.js" /> 
</Scripts> 
</asp:ScriptManagerProxy>