Page to Page Navigation in Provider Hosted Apps

Eine Provider Hosted App ist eine normale ASP.NET Anwendung die entweder mit WebForms oder mit ASP.MVC programmiert werden kann. Solange man keine SharePoint Zugriffe aus der App heraus benötigt kann man die Anwendung wie eine alleinstehen ASP Anwendung programmieren.

Nachdem ich aber dem User ein einheitliches Erscheinungsbild bieten möchte, verwende ich das Chrome Control um die Styles von SharePoint auch in meiner App zu nutzen.

(Siehe Blog von meinem Kollegen Markus Hiller)

Sobald das Chrome Control verwendet wird, müssen in den Parametern des Seitenaufrufes auch die SharePoint eigenen Parameter wie SPHostUrl, AppUrl udgl. übergeben werden. Bei der Startseite der App erledigt das der SharePoint Server. Wenn aber von der StartSeite auf eine weitere Seite der App verlinkt wird beginnen die Probleme. Wir müssen selbst die Übergabeparameter weitergeben.

Da ich im href-Attribut des Links nicht immer die gesamten Parameter schreiben möchte, und auch nicht kann, da sie zur Entwicklungszeit nicht bekannt sind, muss ich den Umweg über JavaScript oder genauer JQuery gehen.

Jeder Link erhält einen ID:

<a id="l1" href="MembersFirstSeminar.aspx"><img alt="" class="auto-style2" src="goto.jpg" /></a>

nun kann in der Document-ready Funktion das href-Attribut verändert werden. Es werden einfach alle Aufrufparameter der Startseite an das href-Attribut angehängt.

$(document).ready(function(){               
      $('#l1').attr("href", $('#l1').attr("href") + '?' + document.URL.split("?")[1]);
});

Simpel und einfach Smiley


diese und weitere Themen werden in unseren Schulungen behandelt:
SharePoint-Schulungen

Kommentare sind geschlossen