Чтение данных, отправленных в форму ASP.Net

У меня есть действующая форма входа в приложение asp.net. Стандартный материал с текстовым полем имени пользователя и пароля и кнопкой для обработки входа. Прекрасно работает.

У меня есть новое требование, позволяющее пользователю вводить имя пользователя и пароль с отдельной простой html-страницы, которая не является частью моего приложения asp.net. Я планирую добиться этого, используя стандартную кнопку html-form, input, submit и т.д. Действие формы будет URL-адресом моей страницы входа в asp.net, и его метод будет POST.

То, что я хочу сделать в коде С# за страницей формы входа asp.net, предположительно в событии Page_Load, заключается в том, чтобы проверить, содержит ли запрос на страницу имя пользователя и пароль. Если это произойдет то мне нужно прочитать эти значения и обработать логин, как если бы кто-то нажал кнопку входа на страницу asp.net. Если нет, я покажу форму входа в систему, как обычно.

Как проверить наличие и чтение значений имени пользователя и пароля в запросе моей страницы.

Ответ 1

Прочитайте 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" являются Именами элементов управления на странице проводки.

Ответ 2

if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }

имя пользователя - это имя входа на странице отправки. Пароль можно получить таким же образом. Если он не является нулевым или пустым, он существует, а затем регистрирует пользователя (я не помню точные шаги для членства ASP.NET, предполагая, что вы используете).

Ответ 3

NameValueCollection nvclc = Request.Form;
string   uName= nvclc ["txtUserName"];
string   pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);