Tôi có trang web này (C#/ASP.NET) với biểu mẫu mà người dùng có thể đăng ký tài khoản (đó là mẫu mặc định của VS11) và sau khi mọi thứ được điền vào và người dùng nhấp để đăng ký, nó tạo tài khoản và nhật ký trong người dùng (hoạt động tốt).Lấy CurrentUserID từ Websecurity trực tiếp sau khi đăng nhập (C#/ASP.NET)
Sau bước này, tôi muốn nhận UserID mà ông được chỉ định, nhưng nó không hoạt động. Tôi đã đặt một điểm dừng ở đó để xem các giá trị của cả hai "currentuserid" và "WebSecurity.CurrentUserId" nhưng chúng chỉ có giá trị -1. Bước tiếp theo là người dùng được chuyển hướng đến trang tiếp theo và trên trang đó các chức năng này hoạt động. Tôi nghĩ tôi có thể lấy UserID khi người dùng đã đăng nhập vào dòng đầu tiên của mã mà tôi đã cung cấp ở đây.
Vì vậy, câu hỏi của tôi là, tại sao nó không hoạt động ở đây? Tôi rất noobish với điều này, vì vậy tôi rõ ràng là thiếu một cái gì đó.
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");
Cảm ơn!
Điều đó hoạt động tốt, cảm ơn rất nhiều! – Suedish
Dường như mã này dựa vào tên người dùng để nhận userid. Nếu hai người dùng có cùng tên thì sao? –
Nói chung tên người dùng * là duy nhất như id –