SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Parameter auslesen aus Listenelement-Ansichtsdialog (oder so) - Wie?

Geprüfte Antwort Dieser Beitrag hat 5 Antworten

Ohne Rang
49 Beiträge
HeenzKetchup erstellt 15 Mai 2012 15:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

ich bin Sharepoint-Anfänger und bin grad am Verzweifeln!

Folgende Situation:

Ich habe ein Visuelles Webpart mit dessen Hilfe ich mir Ribbons an verschiedenen Stellen anzeigen lasse. Auf meiner Website habe ich also das Webpart eingebunden und noch eine Benutzerdefinierte Liste. Mein Button wird angezeigt, wenn ich ein Element aus der Liste auswähle. Wenn ich dann auf den Button klicke soll eine Ansicht aufgehen mit ListId und ItemId als Parameter. Das klappt auch soweit.

Das Problem ist, dass ich quasi den gleichen Button noch einmal habe, diesmal in der Ansichtsseite des Elements. Diese wird als Dialog aufgerufen.

Meine Frage: wie komme ich jetzt an die Parameter für ListId und ItemId? Über die Abfrage  

var ctx = SP.ClientContext.get_current();

var items = SP.ListOperation.Selection.getSelectedItems(ctx);

 funktioniert es nicht.

Wenn ich mir den Aufruf der Seite ansehe, dann steht da was von http://*/_layouts/listform.aspx?PageType=4&ListId={11A923A3-E3F6-42DC-84BC-7F18BA2004CC}&ID=2&ContentTypeId=0x01...

Woher bekomme ich jetzt die Parameter?

Im Webpart ist die Liste ja auch fest verbunden, es gibt zumindest ParameterBindings wo auch ListId und ItemId drinstehen. Aber wie kann ich die auslesen?

Also, nur nochmal zum Verständnis: Ich schaue mir ein Listenelement in der Elementansicht an (Dialog) und will dann  auf meinen Button drücken wo sich dann ein weiterer ModalDialog öffnet mit der ListenID und dem ausgewählten Element (ID) als Parameter.

Im SharepointDesigner habe ich auch irgendwas mit Parametern gesehen, aber das hilft mir auch nicht wirklich weiter...

Hoffentlich versteht ihr was ich meine…

Ich sitz da jetzt schon Tage dran und ich bekomme es einfach nicht hin!

 

Vielen Dank für Eure Hilfe!

Alle Antworten

Ohne Rang
96 Beiträge
Stefan Walter Als Antwort am 16 Mai 2012 02:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich es richtig verstanden habe und du die Url mit den Parametern ListId & ItemId hast, kannst du dir dort mittels "this.Page.Request.QueryString[key]" im WebPart die UrlParameter auslesen.

www.stefan-walter.net
SharePoint MCITP, MCPD, MCTS, MOS

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Mai 2012 14:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich es richtig verstanden habe (aber anders als Stefan), dann brauchst Du die Werte in JavaScript. In den Dialogseiten funktioniert SP.ListOperation.Selection nicht und Du mußt Dir die Werte tatsächlich aus der URL holen. In JavaScript erreichst Du sie mit window.location.search

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
49 Beiträge
HeenzKetchup Als Antwort am 21 Mai 2012 11:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

ich habe die beiden Lösungsansätze ausprobiert, aber leider komme ich trotzdem nicht wirklich weiter...

Ich versuche nochmal zu erklären:

Also, ich habe eine benutzerdefinierte Liste. Wenn ich mir ein Element anzeigen lassen will, dann wird die Anzeige über den Link wie im Bild aufgerufen.

Da stehen verschiedene Parameter drin. U.A. auch ListId und ID des selektierten Elements. Auf dem folgenden Bild seht ihr das Ergebnis dieses Aufrufs. Wenn ich jetzt auf den Ribbon-Button klicke will ich mir z.B. die ListId und ItemId anzeigen lassen. Diese Parameter wurden ja definitiv an das Fenster übergeben, aber ich kriege es nicht hin, diese Parameter auszulesen. Wenn ich "window.location.href" (oder search) auslese, dann bekomme ich die Id des Elements und ContentType. Aber die ListID ist verschwunden...

 

Kann mir einer sagen, an welcher Stelle ich das auslesen muss? Mit JavaScript oder irgendwie über CodeBehind? Es muss doch möglich sein irgendwie an die Werte zu kommen! Aber wie? Ich steh aufm Schlauch... Wahrscheinlich ist es ganz einfach...!

 

Danke für Eure Hilfe!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 Mai 2012 12:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

OK, ich sehe Dein Problem. Die URL, die der Browser für den Link anzeigt, ist nicht die, die dann tatsächlich aufgerufen wird. Klicke mal mit der rechten Maustaste irgendwo in dem geöffneten Dialog und dann auf Eigenschaften, dann siehst Du die tatsächlich aufgerufene URL.

Die ListId fehlt dort als Parameter, aber dafür hast Du die URL der Liste in der Form website/Lists/DeineListe/DispForm.aspx. Damit sollte sich die Liste ebenfalls als Objekt holen lassen, bzw. die Liste selbst bekommt man (glaube ich) aus SP.ListOperation.Selection. Dort fehlen nur die Selected Items.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
49 Beiträge
HeenzKetchup Als Antwort am 21 Mai 2012 14:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also, ich habs jetzt wie folgt gelöst:

die ListId bekomme ich über "_spPageContextInfo.pageListId" und das ausgewählte Element über "GetUrlKeyValue('ID')".

Für meine Anwendung reicht das so. Ich habe es nicht probiert, was passiert, wenn ich z.B. mehrere Listen auf der Seite habe... Und ich habe auch immer nur ein ausgewähltes Element.