1

私の問題は次のとおりです。ユーザーがサイトを作成した後のSharepoint 2010では、最初にユーザーをカスタムページにリダイレクトする必要があり、ユーザーを新しいサイトのURLにリダイレクトする必要はありません。

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 です。

私はインターネットで私の問題の解決策を探していました。そして、私はそれを見つけました: http://www.sharepointkings.com/2008/05/httpcontext-in-eventhandler.html

やったよ:

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 ではありませんでした (WebProvisioned プロパティ Synchronous に設定しました)。

<Synchronization>Synchronous</Synchronization>

しかし、この場合、「コードが最適化されているか、ネイティブ フレームが呼び出し履歴の上にあるため、式を評価できません」というエラーが表示されます

また、リダイレクトのために別の方法を試しました。 http://sharesilver.wordpress.com/2011/07/24/sharepoint-bugs-1-item-deleting-event-receiver/

しかし、この場合も何もうまくいきません。

私は助けてくれることに感謝します!

4

2 に答える 2

0

現在のhttpcontextを取得するには、コンストラクターを追加する必要があります。そうしないと、コンテキストは常にnullになります。

次の例を参照してください:http ://social.technet.microsoft.com/Forums/en-US/sharepoint2010programming/thread/8cfcb299-9a55-4139-86ec-0b53b2922a54/

于 2012-05-08T16:57:22.063 に答える
0

こんにちは、イベントレシーバーからカスタムページにリダイレクトするためにこれを試すことができます

    properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
    properties.RedirectUrl = "/_layouts/EventReceiver/CustomError.aspx";

詳しくはこちらのURLをチェック

http://www.c-sharpcorner.com/uploadfile/anavijai/how-to-redirect-to-a-custom-page-for-event-receiver-in-sharepoint-2010/

働いているかどうか教えてください。ありがとう

于 2012-05-05T11:13:02.590 に答える