私の問題は Sharepoint 2010でユーザー作成サイトを作成した後、まずユーザーをカスタムページにリダイレクトし、ユーザーを新しいサイトのURLにリダイレクトしないでください。Sharepoint 2010イベントレシーバからのリダイレクト
私は、Web用のイベントレシーバを作成して)SPUtility.Redirectを(使用して自分のページにリダイレクトするために作成した後にサイトを試してみました:
public class MySiteEventReceiver : SPWebEventReceiver
{
public override void WebProvisioned(SPWebEventProperties properties)
{
var web = properties.Web;
base.WebProvisioned(properties);
string url = web.Site.Url + "/_LAYOUTS/MyPage.aspx";
SPUtility.Redirect(url, SPRedirectFlags.CheckUrl, HttpContext.Current);
}
}
しかし、常にHttpContext.Currentはnullです。
私はintrnetで私の問題の解決策を探していました。
<Synchronization>Synchronous</Synchronization>
(私は同期WebProvisionedプロパティの設定)
public class MySiteEventReceiver : SPWebEventReceiver
{
private static HttpContext oContext;
public SubSiteEventReceiver() : base()
{
if (oContext == null)
{
oContext = HttpContext.Current;
}
}
public override void WebProvisioned(SPWebEventProperties properties)
{
var web = properties.Web;
base.WebProvisioned(properties);
string url = web.Site.Url + "/_LAYOUTS/MyPage.aspx";
SPUtility.Redirect(url, SPRedirectFlags.CheckUrl, oContext);
}
}
ことのHttpContextがnullではなかった後しかし、この場合には、私はエラーを取得する:私はそれをやったhttp://www.sharepointkings.com/2008/05/httpcontext-in-eventhandler.html
:そして、私はそれを見つけました"コードが最適化されているか、ネイティブフレームが呼び出しスタックの上にあるため式を評価できません" "
また、別の方法でリダイレクトしようとしました。 http://sharesilver.wordpress.com/2011/07/24/sharepoint-bugs-1-item-deleting-event-receiver/
しかし、この場合も何も動作しません。
私は何か手伝ってくれてありがとう!
あなたが代わりにSPUtility.Redirectを使用するのでは正しく、コンテキストを取得することができるならば、あなたはoContext.Response.Redirect(「URL」、false)を試すことができ、二番目のパラメータ(偽)は重要です – Mac