Прочитать данные поста, отправленные в форму 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);
Другие вопросы по тегам