Чтение данных, отправленных в форму 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);