Frage

Der folgende Code fügt zusätzliche %22 nach dem ASPX hinzu, wodurch der Verknüpfung fehlschlägt.

XmlElement p = new XmlDocument().CreateElement("p");
p.InnerText = @"<table style=""width: 100%""><tbody>
                                <tr><td>&#160;<a href=" + web.Url + @"/Lists/Jr/AllItems.aspx"">J & R</a></td></tr>
                                <tr><td>&#160;<a href=" + web.Url + @"/SalesStatus/Forms/AllItems.aspx"">Sales Status</a></td></tr> </tbody></table>";
                ContentEditorWebPart cewp = new ContentEditorWebPart
                {
                    Content = p
                };
War es hilfreich?

Lösung

%22 ist Code für das Angebot (").

Dies liegt daran, dass Sie vergessen haben, ein Startzitat hinzuzufügen. Ich meine, wenn zum Beispiel Web.url gleich ist http://localhost, endgültig HTML wird sein:

<a href=http://localhost/Lists/Jr/AllItems.aspx">J & R</a>

Diese HTML ist nicht korrekt. SharePoint "fixiert" es, ersetzt sie " mit %20.

Sie sollten sowohl Startzitat als auch das Ende wie folgt anbieten:

p.InnerText = @"<table style=""width: 100%""><tbody>
                <tr><td>&#160;<a href=""" + web.Url + @"/Lists/Jr/AllItems.aspx"">J & R</a></td></tr>
                <tr><td>&#160;<a href=""" + web.Url + @"/SalesStatus/Forms/AllItems.aspx"">Sales Status</a></td></tr> </tbody></table>";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top