none
Utilisation de SP.Utilities.Utility RRS feed

  • Question

  • Bonjour,

    J'appel depuis mon code behind une fonction javascript permettant d'ouvrir une popup

    var script = string.Format(

    @"function fnEdit() {{

    EditUser('{0}');

    }};

    SP.SOD.executeOrDelayUntilScriptLoaded(fnEdit, 'sp.ui.dialog.js'); ",

    userkey);

    Page.ClientScript.RegisterStartupScript(typeof(LayoutsPageBase), Guid.NewGuid().ToString(), script, true);

     

    Voici le code de la fonction javascript appelée

    /// <reference name="MicrosoftAjax.js" />

    /// <reference path="file://C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/LAYOUTS/SP.core.debug.js" />

    /// <reference path="file://C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/LAYOUTS/SP.debug.js" />

    //this function allow to open edit user popup

    function EditUser(SelectedUserKey) {

        var layoutsUrl = SP.Utilities.Utility.getLayoutsPageUrl("lien/EditUser.aspx");

        var urlBuilder = new SP.Utilities.UrlBuilder(layoutsUrl);

        urlBuilder.addKeyValueQueryString('ID', SelectedUserKey);

     

        //INST: get langage of current sharepoint site

        var lcid = _spPageContextInfo.currentLanguage;

     

        var titlePopUp = "";

        if (lcid.toString() == "1036")

            titlePopUp = "Modification d'un utilisateur";

        else

            titlePopUp = "Editing user";

     

        var options = {

            url: urlBuilder.get_url(),

            autosize: true,

            title: titlePopUp,

            dialogReturnValueCallback: notifAfterEdit

        };

     

        //INST: open poup

        SP.UI.ModalDialog.showModalDialog(options);}

     

    Le problème c'est que j'ai une erreur 'SP.Utilities.Utility' a la valeur Null ou n'est pas un objet. Pourtant j'execute le même code dans la même page mais non pas par le code behind et je n'ai pas d'erreur.

    De plus lorsque je rajoute les réfrences des deux fichiers js SP.core.debug.js et SP.debug.js dans le code behind, la fonction javascript est bien exécutée sauf que une erreur du genre  "Sys.InvalidOperationException: Le type SP.EnumerableArray a déjà été inscrit" s'affiche.  

     

    • Modifié SToumi mardi 17 janvier 2012 08:08
    • Déplacé Hengzhe Li mardi 21 février 2012 05:30 merge forum (Origine :Développement Sharepoint 2010)
    mardi 10 janvier 2012 10:17

Réponses

Toutes les réponses