Мне нравится использовать эту пару методов (второй вызывает первый, но вы также можете вызвать первый напрямую. Я рекомендую вызывать второй), которые выполняют различные проверки и возвращают идентификатор пользователя или ноль, если есть пользователь. не заверены или неопознаны:
но я начал использовать проверку подлинности и членство в формах ASP.NET.
Я создал проект C # в Visual Studio, который автоматически создавал страницы типа "/Account/Login.aspx".
Затем я последовал примеру для установкиaspnet_*
таблицы в моей базе данных SQL Server, и я смог использовать<asp:CreateUserWizardStep>
контроль, чтобы создать пользователя.
Затем я смог войти в систему под этим пользователем, и имя пользователя, вошедшего в систему, появляется при<asp:LoginName>
Тем не менее, когда я вызываю следующее в своем коде C #, в обработчике событий нажатия кнопки, я всегда получаю исключение Null Reference:
string UserID = Membership.GetUser().ProviderUserKey.ToString();
Не должно ли это вернутьUserID
из моей таблицы aspnet_users?
Если<asp:LoginName>
показывает значение UserName, я не всегда могу позвонитьMembership.GetUser().ProviderUserKey