Прочитать данные поста, отправленные в форму ASP.Net
У меня есть рабочая форма входа в приложение asp.net. Стандартный материал с именем пользователя и паролем, а также кнопкой для обработки входа в систему. Работает отлично.
У меня есть новое требование, позволяющее пользователю вводить имя пользователя и пароль с отдельной простой HTML-страницы, которая не является частью моего приложения asp.net. Я планирую добиться этого, используя стандартную html-форму, ввод, кнопку отправки и т. Д. Действие формы будет URL-адресом моей страницы входа в asp.net, а его метод будет POST.
То, что я хочу сделать в коде C# позади страницы формы входа asp.net, предположительно в событии Page_Load, это проверить, содержит ли запрос на страницу имя пользователя и пароль, которые передаются. Если это так, тогда мне нужно чтобы прочитать эти значения и обработать логин, как если бы кто-то нажал кнопку логина на странице asp.net. Если нет, то я буду отображать форму входа как обычно.
Как проверить наличие и прочитать значения имени пользователя и пароля в запросе на мою страницу.
3 ответа
Прочитайте Request.Form NameValueCollection и обработайте свою логику соответственно:
NameValueCollection nvc = Request.Form;
string userName, password;
if (!string.IsNullOrEmpty(nvc["txtUserName"]))
{
userName = nvc["txtUserName"];
}
if (!string.IsNullOrEmpty(nvc["txtPassword"]))
{
password = nvc["txtPassword"];
}
//Process login
CheckLogin(userName, password);
... где "txtUserName" и "txtPassword" - это имена элементов управления на странице публикации.
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }
username - это имя входа на странице отправки. Пароль можно получить таким же образом. Если он не нулевой или пустой, он существует, а затем войдите в систему пользователя (я не помню точных шагов для членства в ASP.NET, если предположить, что это то, что вы используете).
NameValueCollection nvclc = Request.Form;
string uName= nvclc ["txtUserName"];
string pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);