web-dev-qa-db-ja.com

ASP.Netフォームに送信された投稿データの読み取り

Asp.netアプリケーションに有効なログインフォームがあります。ユーザー名とパスワードのテキストボックスとログインを処理するボタンを備えた標準的なもの。正常に動作します。

ユーザーが、asp.netアプリケーションの一部ではない別のプレーンなHTMLページからユーザー名とパスワードを入力できるようにする新しい要件があります。フォーム、入力、送信ボタンなど、標準のhtmlを使用してこれを実現する予定です。フォームアクションは、asp.netログインページのURLであり、そのメソッドはPOSTです。

おそらくPage_Loadイベントで、asp.netログインフォームのC#コードビハインドページでやりたいことは、ページのリクエストに渡されたユーザー名とパスワードの値が含まれているかどうかを確認することです。これらの値を読み取り、asp.netページのログインボタンをクリックしたかのようにログインを処理します。そうでない場合は、通常どおりログインフォームを表示します。

ページのリクエストでユーザー名とパスワードの値の存在を確認し、読み取る方法を教えてください。

108
daveywc

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」は、投稿ページのコントロールのNamesです。

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

usernameは、送信ページでの入力の名前です。パスワードは同じ方法で取得できます。 nullまたは空でない場合は存在し、ユーザーにログインします(ASP.NETメンバーシップの正確な手順は思い出せません。

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