ASP.NET 양식의 이해

3655 단어
표는 웹 페이지에서 주로 데이터 수집 기능을 책임지고 전체적으로 데이터를 전달하여 서버에 데이터를 제출하는 효율을 크게 높인다.
양식의 세 가지 기본 구성 요소:
양식 태그: 양식 데이터를 처리하는 CGI 프로그램의 URL과 데이터를 서버로 전송하는 방법이 포함되어 있습니다.양식 필드: 텍스트 상자, 암호 상자, 숨김 필드, 여러 줄 텍스트 상자, 체크 상자, 단일 선택 상자, 드롭다운 선택 상자, 파일 업로드 상자 등이 포함됩니다.폼 단추: 제출 단추, 리셋 단추와 일반 단추를 포함한다.데이터를 서버로 전송하는 CGI 스크립트나 입력 취소에 사용되며, 폼 단추로 스크립트 처리 작업을 제어할 수 있습니다.양식 형식:
<form name="     " method="get | post" action="URL">
    ......
</form> 

Form 양식 데이터가 서버에 전송되는 방법은 Get 및 Post 두 가지입니다.
Request.Form["UserName"].ToString();
  :
Request.Form.Get["UserName"].ToString();


Get    :
Request["UserName"].ToString();

(1)get은 제출 양식의 ACTION 속성에 매개 변수 데이터 대기열을 추가하는 URL으로 값과 양식 안의 각 필드가 일일이 대응하여 URL에서 볼 수 있다.post는 HTTP post 메커니즘을 통해 폼의 각 필드와 내용을 HTML에 배치합니다.
HEADER 내에서 ACTION 속성이 가리키는 URL 주소로 함께 전송됩니다.사용자는 이 과정을 볼 수 없습니다. 
(2) get 방식에 대해 서버 측은 Request를 사용합니다.QueryString은 변수의 값을 가져옵니다.post 방식에 대해서는 서버에서 Request를 사용합니다.Form에서 제출한 데이터를 가져옵니다.(3) get이 전송하는 데이터량은 비교적 작고 2KB보다 크면 안 된다.post 전송의 데이터 양이 비교적 커서 일반적으로 제한을 받지 않는 것으로 기본값입니다.그러나 이론적으로 IIS4는 최대 80KB, IIS5는 100KB이다.(4)get의 안전성이 매우 낮고post의 안전성이 비교적 높다.
post 및 get 연락처:
GET는 양식 데이터를 요청 페이지의 URL 주소 뒤에 첨부합니다.GET 메서드는 URL 길이가 8192자로 제한된 소량의 데이터를 전송하는 데 사용됩니다.만약 발송한 데이터의 양이 너무 많으면 데이터가 차단되어 의외의 처리 결과를 초래할 것이다.POST는 HTTP 요청에 양식 데이터를 포함합니다.POST 방법은 대량의 데이터를 발송할 수 있고 사용자 이름, 비밀번호, 신용카드 등 기밀 정보를 발송할 때 POST 방법은 GET 방법보다 안전하다.
특별 설명
일반적으로 보안 문제가 발생할 수 있으므로 Get 방식으로 양식을 제출하는 것은 피하십시오.예를 들어 로그인 폼에서 Get 방식을 사용하면 사용자가 입력한 사용자 이름과 비밀번호가 주소 표시줄에 남김없이 드러날 것이다.그러나 페이지 나누기 프로그램에서는 포스트를 사용하는 것보다 Get을 사용하는 것이 낫다.이 예에서 사용한 폼의 속성 설명 (ASP 부분은 네 번째 부분 참조): Get은 인자를 action 속성이 지정한 주소에 추가하고 닻으로 엽니다.Post는 HTTP post 처리를 통해 데이터를 전송합니다.
Form 데이터 집합
Request의Form 집합을 사용하여 클라이언트가 POST 방법을 통해 전송한 폼 데이터를 가져옵니다. 예를 들어 서버에 두 개의 웹 폼이 있습니다.htm와do.aspx,form.htm에는 폼이 포함되어 있으며 폼이 데이터를 전송하는 방법은POST이며 폼은 같은 디렉터리에 제출된do입니다.aspx.form.htm 코드는 다음과 같습니다.
<html>
    <head>
    <title>  POST    </title>
    </head>
    <body>
    <form method="post" action="do.aspx">
           :<input type="text" name="mingzi"><br>
    <input type="submit" value="  ">
    </form>
    </body>
    </html>

재도aspx에서 Request가 사용됩니다.Form["mingzi"]에서 사용자가 입력한 이름을 가져옵니다.aspx 코드는 다음과 같습니다. private void PageLoad(Object o, EventArgse)//페이지가 로드되면 양식 데이터가 표시됩니다.
    {
        string strmessage="     :";  //           
        strmessage+= Request.Form["mingzi"];  //          
        Response.Write(strmessage);//    
    }

QueryString 데이터 컬렉션
QueryString 집합을 이용하여 클라이언트가 GET 방법으로 전송하는 폼 데이터를 가져올 수 있습니다. 만약에form을htm에서 폼의method 속성 값이 POST에서 GET로 바뀌면do.aspx에서 Request를 통과해야 합니다.QueryString["mingzi"]에서
입력한 이름을 가져옵니다.GET 방법은 데이터를 전송하는 데 일정한 제한이 있고 안전하지 않기 때문에 표는 일반적으로 GET 방법을 사용하지 않는다.
private void Page_Load(object sender, System.EventArgs e)
  {
   if(Request.QueryString["mingzi"].ToString()!="")
    Response.Write("     :"+Request.QueryString["mingzi"].ToString());
  }

웹 응용 프로그램 개발에서 QueryString은 GET 방법을 사용하여 양식 데이터를 전송하는 것과 같은 URL 조회 문자열의 변수 값을 가져오는 데 자주 사용됩니다.실천이 깊어지면서 점차 이해가 깊어진다!

좋은 웹페이지 즐겨찾기