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.




Abfragevariablen und Sprache auslesen

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
25 Beiträge
Hangtreiber erstellt 26 Apr. 2013 13:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

als Umsteiger von PHP-Anwendungen auf Sharepoint habe ich ein paar Verständnisprobleme (vielleicht ist es auch der Wald, der mich hindert die Bäume zu sehen). Ich habe 2 Probleme:

Problem 1: Ich möchte gerne eine Abfragevariable (GET Variable) der URL einem Link mitgeben, der in keinen Webpart liegt sodern einfach in einem DIV auf der Seite. Wie lese ich da die GET-Variable aus? Bei PHP konnte ich <?=$_GET["Variable"]; ?> machen. Gibt es bei Sharepoint ein äquivalent dazu?

Problem 2: Ich möchte gern die eingestellte Sprache auslesen. Dazu habe ich bei der Recherche das Stichwort {Site.LCID} gelesen (http://technet.microsoft.com/de-de/library/jj683123.aspx). Diese Variable brauch in in einem DVWP. Wie muss ich die Variable auslesen, dass ich die im DVWP habe? Geht das über den Sharepoint Design via Einfügen einer Servervariable? Oder muss ich das im Code machen mit <xsl:variable>?

Danke für die Umsteigerhilfe. Gibt es vielleicht einen Umsteigerguide?

Gruß

Hangtreiber

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Apr. 2013 14:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Zu 1: das ist ein ASP.NET-Problem. Grundsätzlich kann man da ähnliches erreichen. Mit <% ... %> kann man serverseitigen Code in den HTML-Quelltext schreiben. Bei PHP ist das ja normal, aber bei ASP.NET eine Unsitte. In normalen SharePoint-Seiten ist es außerdem verboten und führt nur zu einer Fehlermeldung.

Zur Info: grundsätzlich kommt man in ASP.NET an GET-Parameter über Request.QueryString["Parametername"]

Zu 2: wie man bei einem DVWP an die aktuelle Sprache kommt, weiß ich auch nicht. Was möchtest Du denn erreichen? Vielleicht gibt es einen anderen Weg.

Auch hier zur Info: Site.LCID ist die (unveränderliche) Standardsprache der Website. Die wirklich gerade verwendete Sprache bekommt man aus der aktuellen "Kultur", die man so bekommt: System.Globalization.CultureInfo und dort CurrentCulture und CurrentUiCulture

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
25 Beiträge
Hangtreiber Als Antwort am 26 Apr. 2013 16:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Zur Info: grundsätzlich kommt man in ASP.NET an GET-Parameter über Request.QueryString["Parametername"]

[/quote]

Wenn das mit dem <% ... %> eine Unsitte ist, wie bekommt man dann die Variablen in den HTML Code. Muss ich die via Script auslesen und vom script aus in den HTML Code schreiben?

Danke und Gruß

Hangtreiber

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 Apr. 2013 08:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie oben gesagt: Du solltest Dich zuerst mit den Grundlagen von ASP.NET vertraut machen.

Nur ganz kurz: in ASP.NET hat man normalerweise (mindestens) zwei Dateien. Eine *.aspx, die das HTML Markup enthält, und eine sog. Code-Behind-Datei, die den Code dazu enthält. Du kannst im HTML ASP.NET-Webcontrols verwenden und die aus dem Code-Behind ansprechen. Und Du kannst im Grunde jedes HTML-Element mit einem runat="server" versehen und es damit zu einem sog. serverseitigen Control machen, das man per Code ansprechen kann. Und man kann per Code sogar ganz neue Controls erzeugen und ins HTML einfügen.

Das war jetzt die Kurzbeschreibung für eine aspx-Seite. Darüberhinaus kann man das System noch durch eigene Controls erweitern. Das können ascx plus Code-Behind sein (funktionieren dann ähnlich wie eine ganze Seite) oder auch nur Code-Dateien. Webparts sind letztlich auch nur solche Controls.

Zu Deinem Problem: in normalen Inhaltsseiten läßt SharePoint keinen Inline-Code zu. Inline ist das, was man mit <%...%> direkt ins HTML schreibt. Für eine Inhaltsseite kannst Du auch das Code-Behind nicht ändern. Also muß ein eigenes Control oder ein Webpart entwickelt werden. Das kann man dann einmal bereitstellen und an jeder beliebigen Stelle benutzen.

Ich hoffe, das ist jetzt für den Einstieg etwas klarer geworden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Apr. 2013 14:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Hangtreiber"]Gibt es vielleicht einen Umsteigerguide?[/quote]

Das hatte ich oben vergessen. Du solltest Dich zuerst mit den Grundlagen von ASP.NET beschäftigen. SharePoint baut "nur" darauf auf. Einen Umsteiger-Guide kenne ich nicht und meiner Meinung nach kann es den auch gar nicht geben. PHP und ASP.NET sind einfach zu unterschiedlich.

Lasse Dich aber davon nicht entmutigen. Wenn Du die Grundkonzepte halbwegs verstanden hast und durch die Erfahrung mit PHP die Grundkonzepte einer Webanwendung (http, Server/Client, GET/POST usw.) verstanden hast, wirst Du sehr schnell von ASP.NET begeistert sein. Hoffe ich jedenfalls :-)

Viele Grüße
Andi
af @ evocom de
Blog