2

我想要实现的很简单。当用户在 SharePoint 2010 中创建新页面时,我想删除特殊字符并将页面名称/URL 截断为一定数量的字符。

例如:用户在创建新页面对话框中输入“我要创建这个带有超长名称的页面!@#$%^^&**_+”,实际创建的页面是“extralongname.aspx”

我得到了删除特殊字符并截断部分。我只是无法更改页面名称/网址。

任何想法?

问候,

4

2 回答 2

0

我通过搜索类似的问题找到了您的问题。

我想你已经解决了这个问题。也许它可以帮助其他有同样问题的人。

您是否使用 SPSecurity 对象执行此操作?

例如。

SPSecurity.RunWithElevatedPrivileges(delegate(){
SPSite site = new SPSite(siteUrl); //You need the url here

   using(SPWeb web = site.OpenWeb();
   {
      web.Title = "The new Title";
      web.Update();
   }

});

这是因为用户可能没有执行此操作的权限。

但这应该可以解决问题!

于 2012-02-02T01:10:34.763 回答
0

这真的很容易。您只需要更改 field 的值FileLeafRef

using (SPSite site = new SPSite("https://sharepoint-site.domain.com"))
using (SPWeb web = site.OpenWeb())
{
    SPList list = web.Lists["Your list"];
    SPListItem item = list.GetItemById(1);

    // next row is important
    item[SPBuiltInFieldId.FileLeafRef] = "Your page url and title.aspx";
    item.Update();
}
于 2017-07-18T09:22:22.457 回答