2011-08-04 5 views
3

알고 싶습니다. 서버 컨트롤과 HTML 컨트롤 사이에 어떤 차이가 있습니까? 예를 들어 데이터 입력을위한 두 개의 텍스트 상자와 버튼이있는 로그인 페이지를 만들려면 서버 컨트롤과 HTML 컨트롤 (client_side 컨트롤 (입력)) 모두에서이 작업을 수행 할 수 있습니다. 서버 컨트롤이나 HTML 컨트롤과 어느 것이 더 효율적입니까? 어느 쪽이 더 빠릅니까?서버 컨트롤 또는 HTML 컨트롤

+1

'runat = "server"'대'asp :'컨트롤을 사용하는 HTML 컨트롤을 의미합니까? – Oded

답변

1

서버 컨트롤은 서버에서 실행해야하는 큰 실수이며, 렌더링 방법은 HTML을 생성하기 위해 호출됩니다. 따라서 서버 성능에 약간의 비용이 듭니다. 컨트롤에 따라 ViewState에서 데이터를 방출하기 때문에 약간의 추가 대역폭이 필요합니다 (또는 컨트롤에 따라 크게 달라질 수 있음).

사용하려는 컨트롤 유형에 따라 다릅니다. 서버 측 처리가 처리되는 즉시 (텍스트 상자 읽기, 버튼 처리 등), 훨씬 더 많은 기능을 제공하기 때문에 항상 asp.net 서버 컨트롤을 선호합니다. 그러나 컨트롤이 클라이언트 (예 : 이미지, 테이블, div 등)로 전송되는 경우 HTML 컨트롤을 사용합니다.

나는 서버 측 처리가 그리 걸리지 않는다고 생각한다. 데이터베이스에서 데이터를 얻는데 오래 걸린다. 물론 최적화 여부에 관계없이 사용자 수에 따라 다릅니다. 하지만 대신 asp.net 서버 컨트롤을 사용하지 않고 OutputCache를 사용합니다.

희망이 도움이됩니다.

0

서버 컨트롤은 서버에 데이터를 게시 할 수있는 간단한 html 또는 html 컨트롤의 조합입니다.

예비 클라이언트 측 유효성 검사가있는 간단한 로그인 화면의 경우 서버 측 컨트롤을 선호합니다.

컨트롤의 효율성은 서버로 보내는 왕복 횟수 및 실행중인 javascript 논리의 양에 따라 다릅니다.

3
당신은 항상 클라이언트에서 아무것도 신뢰는 서버 측에서 유효성을 검사 할

+0

+1 동의. 클라이언트 측 유효성 검사는 훌륭하고 반응이 빠른 사용자 경험을위한 것입니다. 서버 측 유효성 검사는 자신 (시스템)을 보호하는 것입니다. :) – mikemanne

1

서버 컨트롤의 주요 장점은 .Net 개체로 컨트롤을 래핑한다는 것입니다. 그것은 당신에게 컨트롤과 코드의 속성에서 그 속성에 접근 할 수있는 매체를 제공합니다.

HTML 컨트롤은 일반적으로 클라이언트 측에서 액세스 할 수 없습니다. 그러나 runat = "server"속성을 추가하여 코드 숨김 기능을 제공 할 수 있습니다.

코드에서 컨트롤에 액세스하려는 가정하에 원하는 컨트롤을 선택할 수 있습니다.

이제 asp.net 컨트롤 (나는 당신이 서버 컨트롤이라고 부른 것 같다)과 html 컨트롤의 차이점을보고 싶다면 WebControl과 HTMLControl (ASP의 부모)의 차이점을 살펴 보자. net 및 html 컨트롤). 당신은 기본적으로 두개의 다른 래퍼 세트를 얻습니다. ASP.Net 컨트롤에는 많은 사용자 지정이 포함되어 있으며 제어 세트는 HTML 컨트롤 목록보다 긴 목록입니다.

기본적인 작업을 수행하고 코드에서 컨트롤에 액세스 할 필요가 없다고 가정하면 서버 측에서 렌더링 작업을 절약 할 수 있으므로 HTML 컨트롤이 가장 좋습니다.

더 많은 정보를 얻으려면 서버 측 리소스를 서버 측에 저장하고 싶다면 간단하게 일관되게 액세스 할 수 없습니다. 다시 게시하면 경로가 손실 될 수 있습니다. runat = "server"로 제어 할 것을 기대합니다. 그 다시 당신의 선택, html 또는 asp.net 컨트롤!