2010-03-09 2 views
3

나는 주로 책을 통해 다음으로, ASP.NET에 대한 학습뿐만 아니라, 실제로 길을 따라 일을하기 위해 노력하고있어의 AutoPostBack 속성을 이해하는 데 도움이됩니다. 그러나, 나는 이해하지 못하는리스트 컨트롤에 대한 설명을 보았습니다.날은 ASP.NET 컨트롤

"[스마트 작업] 패널의 컨텍스트에서 ...] 마지막 옵션은 컨트롤의 AutoPostBack 속성을 설정합니다.이 옵션을 선택하면 컨트롤에 포함 된 페이지가 제출됩니다 다시 서버로 즉시 사용자가 목록에서 새 항목을 선택으로 "

당신은 날 위해 문을 설명 할 수 있습니까? 귀하의 도움에 미리 감사드립니다. 사용자가을 ListItem (또는 무엇이든 컬렉션 항목입니다)를 선택

답변

5

. 사용자가 선택한 결과를보기 전에 네트워크 트래픽 및 지연이 없지만 서버 코드에서 종속 값 계산과 같은 작업을 수행 할 수는 없습니다. 선택에 대한 응답으로 화면에 아무 것도하고 싶지 않으면 클라이언트 측 스크립트를 사용해야합니다.

AutoPostBacktrue으로 설정하면 목록에서 항목을 선택하면 HTTP POST을 통해 서버에 메시지가 전송됩니다. 그런 다음 ASP.NET은 목록의 변경된 이벤트에 첨부 된 코드를 실행하고 페이지를 다시 작성한 다음 수정 된 페이지를 클라이언트에 보냅니다.

1

페이지가 자동으로 POST 이벤트와 서버에 웹 양식을 제출해야합니다. 당신이 컨트롤에 AutoPostBack="true"을 설정하면이 값이 변경을 때, 자동으로 서버에 다시 게시됩니다 http://en.wikipedia.org/wiki/HTTP_POST

3

여기 HTTP의 POST 이벤트에 위키 피 디아 페이지입니다.

는 예를 들어, 당신은 변화 할 때, 당신은 당신의 페이지가 데이터를 새로 고칠 수 있도록 새로운 가치를 다시 게시 할 수있는 아래 표 또는 뭔가 다른 데이터를 표시하는 드롭 다운을 원한다면.

이것은 드롭 다운의 스타일과 그 옆에있는 버튼을 클릭하여 포스트 백을하기 때문에 값을 변경하는 대신 버튼을 클릭하면 AutoPostBack="true"으로 값을 변경할 수 있습니다.

1

Page에 포함 된 asp.net 컨트롤의 책임은 사용자가 브라우저에서 보게 될 html의 일부를 렌더링하는 것입니다. 일부 컨트롤은 AutoPostBack 속성을 지원합니다. 그것이 무엇을하는 것은 당신이 서버 측에서이 반응 할 수 있도록 해당 컨트롤의 값이 변경 될 때마다 양식을 제출하는 몇 가지 추가 자바 스크립트를 방출 제어를 만드는 것입니다. 사용자가 브라우저를 는 서버와 통신하지 않고, 목록의 항목을 선택한다 (예 false 설정 AutoPostBack와리스트 관리 등) 일반 클라이언트 컨트롤

3

목록 상자를 사용하면 목록 상자에서 선택한 항목이 변경되면 감지 처리 할 수있는의 SelectedIndexChanged 이벤트가 있습니다. 이처럼 구성 것 : AutoPostBack="false" (기본값)로

<asp:ListBox ID="ListBox1" runat="server" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged"/> 

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // Do something   
} 

는 해당 이벤트 핸들러가 실제로 "실시간"의 서버에 발생하지 않습니다. 사용자는 버튼을 클릭하는 것과 같은 양식을 제출 (POST)하기 위해 관련이없는 작업을 수행하여 해당 이벤트가 서버에서 실행되도록해야합니다.

해당 이벤트에 대해 "실시간"작업을 수행하려는 경우 AutoPostBack="true"을 설정하면 선택한 항목이 변경 될 때마다 양식이 자동으로 제출됩니다.

이점 - 이벤트에 "실시간"알림이 표시됩니다. 단점은 페이지가 서버와 더 많이 대화하므로 클릭당 대역폭이 많이 들고 클라이언트가 지연되는 것입니다.

추가 읽기 : http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

0
  • 컨트롤 텍스트의 일부 변경 또는 컨트롤 속성에 anyother 변화가있을 때마다 페이지가 서버로 전송되도록 기본적으로 AutoPostBack을 사용합니다.
  • 페이지 게시는 페이지가 서버에 제출됨을 의미합니다. 텍스트 상자를 사용하여 AutoPostBack을 "true"로 설정했다고 가정합니다. 이제 텍스트를 입력하고 텍스트 상자 외부를 클릭하면 페이지가 새로 고침됩니다.
  • 이 새로 고침은 입력란에 입력 한 값이 서버에 제출되었음을 나타냅니다.
  • 포스트 백은 ASP.NET 서버에서 처리합니다. AutoPostBack은 자동으로 서버에 페이지를 다시 게시합니다.
  • 이벤트 처리기를 추가하십시오. 이것은 당신에게 더 나은 그림을 줄 것입니다. DropDownList의 경우 : 이벤트 핸들러 추가 : DropDownList를 두 번 클릭하면 이벤트 핸들러로 연결됩니다.
  • 이벤트 처리기에 다음과 같이 작성합니다. Response.Write ("message");
  • 페이지가 새로 고침되고 메시지가 표시됩니다. 이는 페이지가 서버에 게시되었고 서버가 이벤트 핸들러를 실행하고 메시지를 표시했음을 의미합니다.

나는 이것이 유용했으면 좋겠다.