이전에도 ASP를 사용해 개발했는데 ASP는 asp.net만큼 똑똑하지는 않지만 HTTP POST 요청, GET 요청의 원리 등 웹 개발의 본질을 이해할 수 있게 해줍니다. 파일의 경우 양식 등의 enctype 속성을 설정해야 합니다. 내 생각에 ASP.NET은 똑똑하다기보다 더 어리석은 것 같습니다. 제가 ASP.NET을 처음 배웠을 때, Microsoft가 서버 컨트롤의 장점을 적극적으로 홍보했기 때문에 ASPX 페이지를 작성할 때 HTML 컨트롤을 사용하면 전문성이 떨어지는 것처럼 느껴질 것이라는 오해가 있었습니다. 그런데 사용해보니 겉모습을 제어하기가 쉽지 않고, DOM 작업을 하려면 clientId 속성을 참조해야 하는데, 이는 HTML을 직접적으로 조작하는 것과는 거리가 멀다. 코드가 너무 불편해요.
서버 컨트롤을 사용하면 서버측 백그라운드 코드(*.VB/*.CS)에서 ID로 호출하여 프로그래밍할 수 있다는 장점이 있습니다. 서버 측에서 프로그래밍 방식으로 액세스할 필요가 없다면 서버 컨트롤 사용을 피해야 합니다. 왜냐하면 서버 컨트롤은 결국 HTML 태그를 생성하고 서버 컨트롤을 처리할 때 해당 HTML로 컴파일 및 생성되어야 하기 때문입니다. 서버 부하가 증가하고 페이지 성능이 저하됩니다. 따라서 HTML 태그를 직접 사용할 수 있는 경우 서버 컨트롤을 피해야 합니다. 서버 컨트롤은 동적 HTML을 서버 컨트롤로 변환하는 방법만 제공합니다. 이는 실제로 ASP와 매우 유사합니다. 이는 ASP의 템플릿 클래스를 통해서도 달성할 수 있지만 이러한 종류의 작업을 수행하려면 이를 구현하기 위한 코드를 수동으로 작성해야 합니다.
그리드뷰를 사용하면 왜곡된 문자가 많이 생성되는데, 이는 소위 뷰스테이트(viewstate)라고 불리는데, 이는 한편으로는 네트워크 대역폭을 많이 차지하며, 다른 한편으로는 HTML의 단순성에 영향을 미칩니다. 따라서 사용하지 않는 업데이트, 삭제, 추가 기능이 단지 데이터 표시용이라면 해당 viewstate를 꺼야 합니다. 또한 web.config 파일에서 직접 비활성화할 수도 있습니다. web.config 파일.
<페이지 활성화ViewState="false">
.....
</pages/>