ASP.Net 양식에 제출 된 게시물 데이터 읽기


109

asp.net 응용 프로그램에 작동하는 로그인 양식이 있습니다. 사용자 이름과 암호 텍스트 상자와 로그인을 처리하는 버튼이있는 표준 항목입니다. 잘 작동합니다.

사용자가 내 asp.net 응용 프로그램의 일부가 아닌 별도의 일반 html 페이지에서 사용자 이름과 암호를 입력 할 수 있도록하는 새로운 요구 사항이 있습니다. 표준 html-양식, 입력, 제출 버튼 등을 사용하여이 작업을 수행 할 계획입니다. 양식 작업은 내 asp.net 로그인 페이지의 URL이되고 그 방법은 POST가됩니다.

아마도 Page_Load 이벤트에서 asp.net 로그인 양식의 페이지 뒤에있는 C # 코드에서 페이지에 대한 요청에 전달되는 사용자 이름과 암호 값이 포함되어 있는지 확인하는 것입니다. 그렇다면 필요합니다. 그 값을 읽고 누군가가 asp.net 페이지에서 로그인 버튼을 클릭 한 것처럼 로그인을 처리합니다. 그렇지 않은 경우 평소와 같이 로그인 양식을 표시합니다.

내 페이지에 대한 요청에서 사용자 이름 및 비밀번호 값의 존재를 확인하고 읽는 방법은 무엇입니까?

답변:


151

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"는 게시 페이지에있는 컨트롤 의 이름 입니다.


바이트 배열은 어떻습니까? 그런 문자열을 바이트 배열로 변환 하시겠습니까? Im uploading a file to the serve.r
Fallenreaper

2
각 컨트롤 이름에 대한 요청을 직접 확인하는 대신 namevaluecollection을 반복하는 이유가 궁금하십니까?
Howiecamp

@Howiecamp는 그 질문에 대한 답을 찾았습니까? 나도 흥미 롭다.
tfrascaroli

이! 나는이 양식에서 데이터를 가져올 수없는 이유를 파악하기 위해 5 시간 동안 디버깅했습니다.
Callat nov.

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

username은 제출 페이지에 입력 한 이름입니다. 암호는 동일한 방법으로 얻을 수 있습니다. null이 아니거나 비어 있으면 사용자로 로그인합니다 (사용중인 ASP.NET Membership에 대한 정확한 단계를 기억하지 못함).


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

더 실현 가능하도록 적절한 답변을 제공하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.