Вопрос

Следующий код добавляет дополнительный %22 после ASPX, который приводит к сбою ссылки.

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
                };
Это было полезно?

Решение

%22 - это код для цитаты (").

Это потому, что вы забыли добавить стартовую цитату. Я имею в виду, если, например, web.url равен http://localhost, последний HTML будет:

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

Этот HTML не верен, поэтому SharePoint «исправляет», заменив " с %20.

Вы должны предоставить стартовую цитату, а также окончательную, следующим образом:

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>";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top