Domanda

ciao può qualcuno aiutarmi a mettere un tag di ancoraggio nella pagina Master di pubblicazione personalizzata di SherePoint.In realtà voglio aprire una pagina del sito sul clic su questo tag di ancoraggio, questa pagina del sito sarà nella collezione del sito di alto livello in Galleria "Pages".Ho provato a mettere un ancoraggio e atti clic su Event Event Usato "OpenNewformurls1 ()" per essere chiamato che è definito nel blocco script nella stessa pagina master di:

<script type="text/javascript>" 
SP.SOD.executeOrDelayUntilScriptLoaded(OpenNewFormUrls1, 'SP.js');
function OpenNewFormUrls1() {
    var context= SP.ClientContext.get_current();
        var site=context.get_site();
context.executeQueryAsync(Function.createDelegate(this,this.onSuccess), Function.createDelegate(this, this.onFailure));
        context.load(site);
        var serverRelativeURL=site.get_serverRelativeUrl();
        ULS18u: ; 
        var options = { width: 500, height: 500 };
SP.UI.ModalDialog.commonModalDialogOpen(serverRelativeURL + "/Pages/openNew.aspx", options, null, null); 
    }
    function onSuccess(sender, args) {
        }
        function onFailure(sender, args) {
        }
</script>
.

Dopo queste modifiche iniziano gli errori JavaScript, e sul primo clic sul tag di ancoraggio Nessuna finestra di dialogo Modello si apra, mentre 2nd e successivamente fare clic sul tag di ancoraggio Aprire la finestra di dialogo del modello con la pagina, ciò accade per ogni nuovo sitoVisita all'interno della collezione del sito.Il messaggio di errore che sto ottenendo è il seguente: Message: The property or field has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested. URI: http://sp2010/_layouts/sp.runtime.debug.js?rev=f2An00kVlALdMLzcBc1cug%3D%3D. Qualcuno può aiutarmi come posso ottenere questo?E cosa mi manca qui?Guida gentilmente.

È stato utile?

Soluzione

Per quello che stai cercando di ottenere, non è necessario utilizzare il modello dell'oggetto client.Dal tuo codice sopra, si utilizza il modello oggetto client solo per recuperare l'URL del sito root.Ma questo è già presente nella pagina SharePoint in forma di una variabile JavaScript.Vedi: http://blog.tedpattison.net/lists/posts/post.SPX? ID= 9

Inoltre, ho notato che stai usando la funzione executeOrDelayUntilScriptLoaded.Questa funzione eseguirà la funzione OpenNewFormUrls1 su ogni caricamento della pagina.Non solo quando fai clic sul tag di ancoraggio.Per il tuo attuale requisito, non penso che tu abbia bisogno di questa funzione perché non è necessario utilizzare il modello dell'oggetto client JS.

Quindi considerando tutte le cose, il tuo blocco di script dovrebbe essere così:

<script type="text/javascript>" 

function OpenNewFormUrls1() {

var options = {
        url: _spPageContextInfo.siteServerRelativeUrl + "/Pages/openNew.aspx",
        width: 500,
        height: 500,
        title: "My Page",
    };
    SP.UI.ModalDialog.showModalDialog(options);
 }
</script>
.

e quindi chiamare la funzione OpenNewFormUrls1 su OnClick del tag di ancoraggio.

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top