この Web サイト (C#/ASP.NET) には、ユーザーがアカウントを登録できるフォーム (VS11 の既定のテンプレート) があり、すべてが入力され、ユーザーがクリックして登録すると、アカウントが作成され、ログが記録されます。ユーザーで(これはうまく機能します)。
この手順の後、割り当てられた UserID を取得したいのですが、うまくいきません。「currentuserid」と「WebSecurity.CurrentUserId」の両方の値を確認するためにブレークポイントを配置しましたが、値は -1 しかありません。次のステップは、ユーザーが次のページにリダイレクトされ、そのページでこれらの機能が機能することです。ここで提供したコードの最初の行でユーザーがすでにログインしているため、UserID を取得できると思いました。
だから私の質問は、なぜここでうまくいかないのですか? 私はこれに非常に慣れていないので、明らかに何かが欠けています。
WebSecurity.Login(username, password);
int currentuserid = WebSecurity.CurrentUserId; // This doesn't work, only returns -1
<here I wish to update other tables but I need the user ID>
Response.Redirect("~/Welcome.cshtml");
ありがとう!