2

Ich habe einen Webdienst erstellt, den ich in meiner .ascx-Seite verwenden muss. Ich kann nicht einfach hinzufügen:Wie kann ich den ScriptManager von einem .ascx-Webbenutzer-Steuerelement in DNN aktualisieren?

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

Denn dann ich mehrere ScriptManagers auf der Seite haben. Also habe ich ein wenig Forschung und fand heraus, dass ich das Ereignis Page_Load hinzufügen müssen ...

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

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

Aber ich kann nicht das Ereignis Page Load zugreifen, da gibt es bereits eine voreingestellte (mit ihm ein Wesen Haut und alle) So warf ich den Code zwischen <script runat="server"></script>

Allerdings gibt es mir eine Fehlermeldung "Erklärung erwartet" ... Ich nahm ein paar Zeilen und es schien zu sagen, dass es Me.Page (Oder es kam Null)

Irgendwelche Einsicht, was ich falsch mache?

Kann ich auf Me.Page von <script runat="server"> wie ich bin oder sollte ich es anders machen?

+0

Aus Ihrer Frage, Sie beachten, dass sowohl Sie dies in einer Haut verwenden oder ein Modul. Was ist das? –

+0

Entschuldigung, es ist eine Haut – Matt

Antwort

4

Für solche Fälle gibt es eine ScriptManagerProxy-Klasse, die Sie verwenden können, um Referenzen deklarativ hinzuzufügen. Die Proxy-Klasse wird immer dann verwendet, wenn auf einer "übergeordneten" Seite bereits ScriptManger definiert ist. Sie arbeiten mit dem ScriptManagerProxy genauso wie mit dem normalen ScriptManager. Weitere Informationen über die Proxy-Klasse in Bezug auf können here.

Beispiel Markup zu finden:

<asp:ScriptManagerProxy runat="server" ID="Manager"> 
<Scripts> 
    <asp:ScriptReference Path="~/JScript.js" /> 
</Scripts> 
</asp:ScriptManagerProxy> 
Verwandte Themen