Sharepoint: nur-text-Anzeige-Feld als html
Ich habe eine Sharepoint-Liste, wo eine Spalte in der text - Beschreibung. Wenn Sie beim Bearbeiten eines Listenelements, Feld "Beschreibung" ist in der Regel eine TextArea. Ich habe es so programmiert, dass diese TextArea wird erweitert mit JavaScript zu akzeptieren, rich-text (html wirklich), also ich habe meine benutzerdefinierte rich-text-Feld. Das problem ist, dass wenn ich die Eingabe der umfangreichen Daten sieht alles gut aus, aber wenn ich speichern Sie das bearbeitete Element und dann zeigt es, der text wird als normaler text angezeigt, nicht html, also statt einem Fetten text bekomme ich "< b >text< /b >". Und ich würde es für angezeigt, als html. Was kann ich tun?
Edit: ich möchte nicht den integrierten editor, weil ich brauche etwas anders Verhalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code, der liest in den text-Eingabe aus dem Formular und speichert es in der Liste werden dabei eine HTMLEncode Betrieb ersetzt
und so weiter (Blick auf den Quelltext der Seite nach dem speichern)
Dies geschieht, 'server side', so dass Sie nicht in der Lage sein, dies zu ändern mit JavaScript.
Du hast zwei Optionen, die ich denke,
Als die F5-Taste erwähnt, die Sie erstellen können ein benutzerdefinierter Feld-Typ mit Ihrem eigenen Verhalten für das Rendern und aktualisieren. Dies ist der 'richtige' Weg, dies zu tun.
Könnte man ändern Sie Ihre funky javascript funktionieren auf einem rich-text-Feld, hacken Sie die Wiedergabe des eingebauten RTE und ersetzen Sie es mit Ihren eigenen.
Natürlich, sobald Sie die Einnahme von Benutzereingaben und dann Rendern Sie zurück, um Ihre web-Seite öffnen Sie sich bis zu allen möglichen Gemeinheiten, wie Cross-Site-Scripting wenn Sie nicht herausfiltern von möglichen schlechten Dinge (der Grund, warum die HtmlEncode verwendet wird) - ein problem weniger in einer typischen SharePoint-Website in einem Intranet als ein public-facing Website.
SharePoint unterstützt rich-text-Spalten mit dem integrierten editor. Sie müssen nur die Spalte Einstellungen, so dass es ermöglicht rich-text.
Wenn Sie mit einem JavaScript-editor, da der browser-Kompatibilität mit dem integrierten rich-text-editor, dann wird SharePoint immer Streifen Sie den html-von was auch immer ist eingetragen, da es erwartet, dass Sie den Eingang auf "nur-text".
Re Ihre Kommentare
Wenn Sie möchten, dass ein Feld für die Anzeige im rich-text-es braucht, um ein rich-text-Feld, indem es das nur-text-Sie sind immer gehen, um zu verlieren Ihre benutzerdefinierten Formatierung.
Müssen Sie sich in benutzerdefinierte Feldtypen
Also wo genau sind die Daten falsch angezeigt: in der Liste Formular Anzeigen oder auf einer Seite Layout? Wenn es auf der Seite Layout der fix ist einfach: erstellen Sie ein benutzerdefiniertes Feld Steuern, die um den Wert des Feldes (wie SPContext.Aktuelle.ListItem["YourField"]) und Entpacke den Inhalt in HTML statt HTML-Entitäten codiert.