0

.Net Web アプリケーションにベース ページ (System.Web.UI.Page から継承され、すべてのページがこのベース ページから継承されます) があり、現在、次のメソッドを配置した場合:

protected int GetProfileTenant()
    {
        try
        {
            ProfileCommon p = Profile.GetProfile(Profile.UserName);
            return Convert.ToInt32(p.TenantID);
        }
        catch
        {
            return -1;
        }
    }

「名前プロファイルは現在のコンテキストに存在しません」というエラーが表示されます。

これをページに入れると(ベースページクラスから継承された)、このメソッドはうまく機能します(問題ありません)。

何か案は?

ありがとう

ありがとう

4

2 に答える 2

1

クラスに System.web 名前空間を追加します。そしてこれを試してください

HttpContext.Current.Profile.UserName
于 2009-06-08T11:16:09.460 に答える
0

明確な答えはありませんが、プロファイルの動作方法に「魔法」が発生しています(プロファイルのプロパティに一致するクラスが生成されます)。どうやら、Profileプロパティはトップレベルのページクラスに注入されているようです。代わりにHttpContext.Current.Profileを使用してみましたか?

于 2009-06-08T08:06:42.557 に答える