首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用EventReceiver以编程方式更改SharePoint 2010中的页面名称和url

如何使用EventReceiver以编程方式更改SharePoint 2010中的页面名称和url
EN

Stack Overflow用户
提问于 2011-12-07 12:19:13
回答 2查看 2K关注 0票数 2

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

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

我得到了删除特殊字符和截断部分。我就是不能更改页面名称/Url。

有什么想法吗?

致以敬意,

EN

回答 2

Stack Overflow用户

发布于 2012-02-02 09:10:35

我通过搜索一个类似的问题找到了你的问题。

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

您是否正在对SPSecurity对象执行此操作?

例如:

代码语言:javascript
复制
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();
   }

});

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

但这应该能起到作用!

票数 0
EN

Stack Overflow用户

发布于 2017-07-18 17:22:22

这真的很简单。您只需更改字段FileLeafRef的值。

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8410348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档