111 votes

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

J'ai un travail formulaire de connexion dans un asp.net application. Norme des choses avec un nom d'utilisateur et le mot de passe de la zone de texte et un bouton pour le processus de la connexion. Fonctionne très bien.

J'ai une nouvelle exigence pour permettre à l'utilisateur de saisir le nom d'utilisateur et le mot de passe à partir d'une autre plaine page html qui n'est pas une partie de mon asp.net application. J'ai l'intention de réaliser cela en utilisant la norme html - forme, saisie, bouton soumettre etc. L'action du formulaire sera l'URL de mon asp.net page de connexion et de sa méthode POST.

Ce que je veux faire dans le code C# derrière la page de la asp.net formulaire de connexion, sans doute dans l'événement Page_Load, est de vérifier si la demande de la page contient un nom d'utilisateur et le mot de passe de la valeur qui est passée. Si c'est le cas alors j'ai besoin de lire les valeurs et les processus de la connexion comme si quelqu'un avait cliqué sur le bouton de connexion sur le asp.net page. Si non, alors j'affiche le formulaire de connexion, comme d'habitude.

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

154voto

Cerebrus Points 18045

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.

14voto

Runscope API Tools Points 43859
 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 exactement de la procédure à suivre pour devenir membre ASP.NET, en supposant que c'est ce que vous utilisez).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X