2011-12-07 8 views
1

達成したいのは簡単です。ユーザーがSharePoint 2010で新しいページを作成するときに、特殊文字を削除してページ名/ URLを特定の文字数に切り捨てたいとします。EventReceiverでSharePoint 2010のページ名とURLをプログラムで変更する方法

例:「新しいページの作成」ダイアログボックスの「余分なロングネームでこのページを作成したい!@@ $%^^ & ** _ +」のユーザータイプでは、作成される実際のページは「extralongname .aspx "

削除特殊文字とトランケート部分があります。私はページの名前/ URLを変更できません。

よろしく、

ケン

+0

まあ、それは1週間以上の返事がありませんでした。これは全世界の誰も答えを知っていないということですか(Microsoftからも)、問題は解決するのが難しいですか? –

答えて

0

私はsimliar問題を検索することによって、あなたの質問を見つけました。

私はあなたがその間に問題を解決したと思います。同じ問題を抱えている他の人に役立つかもしれません。

これは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(); 
    } 

}); 

ユーザーが権限を持っていない可能性があります。

しかし、これはトリックを行う必要があります!

0

本当に簡単です。フィールド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(); 
} 
関連する問題