Мне нравится использовать эту пару методов (второй вызывает первый, но вы также можете вызвать первый напрямую. Я рекомендую вызывать второй), которые выполняют различные проверки и возвращают идентификатор пользователя или ноль, если есть пользователь. не заверены или неопознаны:

но я начал использовать проверку подлинности и членство в формах 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

Ответы на вопрос(1)

Ваш ответ на вопрос