Frage

Sicherlich muss es eine einfache Möglichkeit geben, einen einfachen Codeblock in eine Master -Seite zu geben :( Ich habe versucht, das Offensichtliche zu verwenden <%= "Hello, World!" %> Syntax, aber Codeblöcke sind nicht erlaubt. Dann ausprobiert eine Site -Spalte, weiß aber nicht, wie man sie benutzt. Dann ausprobierte Webzonen, aber Master -Seiten können sie nicht verwenden. Ich versuchte ein Web -Teil (die übrigens schwer zu erstellen und einsetzen) in das Seitenlayout zu bringen, aber es rendert einfach nicht:/

Alles was ich will ist etwas Schönes und Einfaches oben auf meiner Website, das das heutige Datum zeigt und das Format, das ich verwenden möchte, ist DateTime.Today.ToString("ddd, d MMMM yyyy"). Wie mache ich es?

(Ansonsten greife ich auf Javascript document.write!)

Danke an alle,

War es hilfreich?

Lösung

Die empfohlene Lösung hierfür wäre die Verwendung einer serverseitigen Steuerung. Wie Sie sagen, scheint die Entwicklung eines Webparts dafür wie Overkill. Eine einfachere Option wäre die Verwendung einer einfachen .ascx -Benutzersteuerung und verweisen Sie dann auf der Seite. Dieser Beitrag Erläutert, wie Sie den Vorlagenordner die Benutzersteuerung hinzufügen, und verweisen Sie dann auf Ihrer Masterseite.

Obwohl für ein so einfaches Problem, denke ich, dass Ihre Vorstellung von JavaScript tatsächlich in Ordnung ist. Und es würde Ihnen ermöglichen, die aktuelle Zeit in der Zeitzone des Benutzers anzuzeigen, die auf der Serverseite nicht so einfach wäre. Es scheint ein Hack, den clientseitigen Code für diese Art von Dingen zu verwenden, aber die Verwendung von JavaScript-Code in SharePoint ist eigentlich ein wirklich leistungsstarkes Tool.

Andere Tipps

Hast du keine Ausnahme "Codeblöcke sind in dieser Datei nicht zulässig"?

Wie auch immer, der Code in den Seiten standardmäßig ist nicht erlaubt. Wie würde es enden, wenn jeder, der Seiten mit SharePoint Designer bearbeiten kann, einen Code einlegen würde?

Wenn Sie dies auswählen, bearbeiten Sie Web.conf:

<PageParserPaths> 
    <PageParserPath VirtualPath="/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" /> 
</PageParserPaths>

Eine Server -Side -Steuerung ist definitiv die empfohlene Lösung für die Platzierung des benutzerdefinierten Codes auf Ihrer Meisterseite. Dies ist eher eine breite Antwort, um fast alles zu umfassen, was Sie tun möchten. Es ist jedoch nicht immer Ihre erste und letzte Option.

In Ihrer Situation müssen Sie nicht unbedingt ein benutzerdefiniertes Webpart oder eine Serversteuerung schreiben (und sich mit den Sicherheits- und Bereitstellungsanforderungen befassen). Meiner Meinung nach ist dies über Bord. Da Sie bereits Zugriff auf die Meisterpage haben und ein Datum/eine Uhrzeit alles erforderlich ist, können Sie einen einfachen JavaScript -Code verwenden:

var now = new Date();
document.write(now.format("ddd, d MMMM yyyy"));

Dies zeigt natürlich Datum und Uhrzeit des Kunden und nicht die Server. In den meisten Fällen kein großes Geschäft, da Sie GetTimeZoneOffset () verwenden können, um Zeitzonen -Diskrepanz zu beheben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top