以下代码是在ASPX之后添加额外%22,这会导致链接失败。

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归因
scroll top