ich habe ein problem mit meinem Sharepoint2010 Webpart, geschrieben in ASP.NET.
Ich möchte ein Javascript ausführen, welches ich zuvor im Webpart in dessen Init-Methode definiert habe.
Allerdings nachdem das Webpart komplett konstruiert ist, also Render durchlaufen hat.
Wie erreiche ich dieses Ziel ?
Vielen Dank für eure Hilfe.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Birne am .
ich kenne mich mit Ajax leider nicht so gut aus, aber ich habe schon oft gehört, dass es möglich ist, Ajax in WebParts zu integrieren. Ich glaube du musst aber ein paar Änderungen an der Web.Config machen. Sicher bin ich mir da aber nicht.
ich ahbe nun dochj die jQuery lib beugepackt, allerdings habe ich ein Problem bzgl des Caches.
Rufe ich meine Seite, in dem Rahmen also auch den WebPart, das erste mal auf, bekomme ich die Höhe von diesem (durch das Javascript) - Die Seite ist noch nicht im cache.
Nachdem die Seite im Cache ist, bekomme ich stets nur noch die Höhe des sichtbaren Bereichs im Broswer.
ich glaube jetzt wird mir so langsam klar, was du vor hast.
Hast du zufällig eine normale ASPX-Page über das "Seiten-Viewer"-Webpart eingebunden? Oder warum möchtest du die Höhe ermitteln?
Das Seiten-Viewer-Webpart passt seine Höhe soweit ich weiß nicht automatisch an den Inhalt an. Wenn du ein Webpart erstellen möchtest, dann nimm besser die Visual Studio Vorlage "Visual WebPart" oder "Web Part".
Was ist ein Visual Web Part und wo liegt der Unterschied zum klassischen Web Part?
in einem Visual Web Part hast du den Designer zur Verfügung. D.h. du kannst die benötigten Controls direkt auf das UserControl ziehen. ABER: Visual Web Parts werden automatisch im GAC abgelegt. Dadurch brauchst du zwar keine CAS Policy, aber du umgehst somit auch das Berechtigungskonzept von SharePoint. Visual WebParts können somit also auch nicht in Sandboxed Solutions verwendet werden.
Edit:
Scheinbar ist es mit dieser Erweiterung sogar möglich, "Sandboxed Visual Web Parts" zu erstellen. Getestet habe ich das aber noch nicht.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von felix am .
vielen vielen Dank für deine hilfe.
Ich habe, wie du empfohlen hats, die jQuery ready Methode genutzt um zu determinieren ob das DOM aufgebaut ist.
Hintergrund war folgender.
Es existiert eine Sharepoint Website mit nur einem Webpart. Diese Seite, welche nur das Webpart und auch sonst keine Elemente wie Navigation oder ähnliches enthält (modifizierte Masterfile), wird als IFrame in eine andere Webseite eingebunden.
Das stellte mich vor das Problem von CrossiteScripting. ich konnte die Höhe des Contents des IFrames nicht ermitteln.
Um dieses Problem zu lösen, habe ich eine extra Seite der Domain in meinem Webpart geframed und diesem die Höhe meines Webparts (dynamischer Content) via URL zugeteilt. Dieses IFrame konnte dann wiederrum auf der anderen WebSite ausgelesen werden und somit konnte der IFrame via Javascript in der Höhe passgenau definiert werden.
Es handelt sich btw. bereits wie du schon erwähntest um ein Visual Webpart.
Das ursprüngliche Problem betrachte ich als gelöst.
Danke an Felix.
Lösung: jQuery Ready() Function Die Höhe via OffsetTop vom letzten Element bestimmt.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Birne am .