web-dev-qa-db-fra.com

Lire les données postales soumises au formulaire ASP.Net

J'ai un formulaire de connexion de travail dans une application asp.net. Standard trucs avec une zone de texte nom d'utilisateur et mot de passe et un bouton pour traiter la connexion. Fonctionne bien.

J'ai une nouvelle exigence permettant à l'utilisateur de saisir le nom d'utilisateur et le mot de passe à partir d'une page HTML distincte qui ne fait pas partie de mon application asp.net. Je prévois d’atteindre cet objectif en utilisant le format HTML standard - formulaire, entrée, bouton de soumission, etc. L’action de formulaire sera l’URL de ma page de connexion asp.net et sa méthode sera POST.

Ce que je veux faire dans la page de code C # derrière le formulaire de connexion asp.net, vraisemblablement dans l'événement Page_Load, est de vérifier si la demande de la page contient un nom d'utilisateur et un mot de passe en cours de transmission. S'il le faut, j'ai besoin de pour lire ces valeurs et traiter la connexion comme si quelqu'un avait cliqué sur le bouton de connexion de la page asp.net. Sinon, je vais afficher le formulaire de connexion comme d'habitude.

Comment puis-je vérifier l'existence et lire les valeurs de nom d'utilisateur et de mot de passe dans la demande de ma page?.

108
daveywc

Lisez le Request.Form NameValueCollection et traitez votre logique en conséquence:

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);

... où "txtUserName" et "txtPassword" sont les noms des contrôles de la page de publication.

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

nom d'utilisateur est le nom de l'entrée sur la page de soumission. Le mot de passe peut être obtenu de la même manière. S'il n'est pas nul ou vide, il existe, puis connectez-vous (je ne me souviens pas des étapes exactes pour devenir membre ASP.NET, en supposant que c'est ce que vous utilisez).

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