2

J'ai créé un service Web que j'ai besoin d'utiliser dans ma page .ascx. Je ne peux pas ajouter ceci:Comment puis-je mettre à jour ScriptManager à partir d'un contrôle d'utilisateur Web .ascx dans DNN?

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

Parce que j'ai plusieurs ScriptManagers sur la page. Donc, je l'ai fait un peu de recherche et a découvert que je dois ajouter à l'événement Page_Load ...

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

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

Mais je ne peux pas accéder à l'événement Page_Load car il y a déjà un pré-set (avec elle étant J'ai donc jeté le code entre <script runat="server"></script>

Cependant, il me donne une erreur en disant "Déclaration attendue" ... J'ai sorti quelques lignes et il semblait dire qu'il ne pouvait pas trouver Me.Page (Ou il était à venir nul)

Un aperçu de ce que je fais mal? Puis-je accéder à Me.Page à partir de <script runat="server"> comme je le suis ou devrais-je le faire différemment?

+0

De votre question, vous notez que les deux vous utilisez ce dans une peau, ou un module. Quel est-ce? –

+0

Désolé pour ça, c'est une peau – Matt

Répondre

4

Dans de tels cas, il existe une classe ScriptManagerProxy que vous pouvez utiliser pour ajouter des références de manière déclarative. La classe proxy est utilisée chaque fois que ScriptManger est déjà défini dans une page "parent". Vous travaillez avec ScriptManagerProxy de la même manière qu'avec le ScriptManager standard. Plus d'informations sur la classe proxy se trouve here.

Exemple balisage:

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