우리 모두 알고 있듯이 ASP.NET 2.0에서 Microsoftware는 새로운 컨트롤 시스템을 제공하며 그 중 일부는 멤버십 회원 관리 시스템 및 단계별 마법사 컨트롤과 같이 매우 유용하여 많은 시간을 절약해 줍니다. 또한 Datagrid에서 업그레이드된 Gridview와 같은 일부는 때때로 그다지 좋지 않은 느낌을 줍니다.
이 제어는 우리에게 큰 편리함을 제공하지만 유연성도 떨어집니다. 예를 들어 SQL 문을 직접 지정하면 데이터 액세스 작업을 완료할 수 있으며 페이징 표시 및 정렬이 먹는 것보다 훨씬 간단합니다. 우리 모두 알고 있듯이 이는 계층화된 논리적 아키텍처 설계에 어긋나며 이는 당황스러운 상황을 만듭니다. 게다가 이러한 제어에만 의존하면 초보자가 강력하고 완전한 프로그램을 만들기가 어렵습니다. , 그리고 우리는 그것이 백그라운드에서 어떻게 작동하는지 알지 못합니다. 초보자의 경우 문제가 발생하면 문제가 어디에 있는지 전혀 알 수 없지만 숙련된 프로그래머는 그런 추악한 디자인을 채택하지 않을 것입니다. 업그레이드 및 기타 작업을 완료하는 데 사용할 경우 입력 내용을 확인해야 하는데 이는 컨트롤이 실행될 때 거대한 ViewState 필드를 생성하므로 페이징 성능이 저하됩니다. 대용량 데이터에서는 훨씬 더 불편합니다. 이제 DataSet을 바이너리로 직렬화할 수 있지만 결과는 여전히 만족스럽지 않습니다. 그렇다면 우리는 그러한 통제의 가치가 무엇인지 물어봐야 합니다.
GridView는 페이징을 할 수 있지만 제공하는 페이징 스타일이 제한되어 있고 수동으로 정의하는 것이 매우 번거롭습니다. 그런 다음 다중 열 정렬, 요약, 내보내기, 합계 또는 드래그 앤 드롭 등과 같은 매우 강력한 데이터 작업이 필요한 경우 이를 달성하기 위해 비즈니스 제어 및 스마트 클라이언트 플랫폼을 사용하면 더욱 편리해집니다. GridView의 수십 가지 스타일 속성의 디자인도 매우 열악합니다. 이러한 속성을 사용하여 매우 멋진 사용자 인터페이스를 만들 수 있지만 프로젝트에 수십 개의 GridView가 있으면 수정 작업이 상상할 수 없기 때문에 스타일을 정의하는 CSS와 같은 강력한 도구입니다.
프로그래밍을 너무 단순하게 만드는 SQL 데이터 소스 제어도 마찬가지로 쓸모가 없습니다. 비록 대규모 프로젝트에서는 실질적인 가치가 없지만 적어도 프로그래밍에 대한 관심도를 너무 높이지 않고도 향상시킬 수 있다는 장점이 있다고 생각합니다. 사람들의 자신감, 그때는 DW의 자동 코딩 기능을 맹인처럼 사용하여 생성된 코드가 너무 추악하고 논리가 너무 혼란스러웠지만 나중에는 온전한 열정에 의지했습니다. 내가 프로그래밍에 열정을 갖고 있었다면 지금의 내가 있지는 않았을 것이다.
제가 더 낙관하는 것은 ObjectDataSource라는 데이터 소스 컨트롤입니다. 이유는 무엇입니까? 이는 백그라운드에서 프로그램 논리를 자유롭게 제어하여 작업의 모든 단계를 매우 투명하게 만듭니다. 또한 제네릭이 제공하는 강력한 기능을 사용하여 프로그램은 마치 기분이 좋은 것 같아요. 데이터 소스는 프런트 엔드 데이터 바인딩 작업에 많은 시간을 절약해 줍니다. 이 기능을 잘 활용하면 프로그램에 많은 편의성을 가져올 수 있습니다.
Microsoft의 StarterKit에 익숙한 친구들은 개체 데이터 소스 응용 프로그램의 전형적인 예인 개인 웹 사이트용 샘플 프로그램이 있다는 것을 알고 있습니다. 이 프로그램에는 ASP.NET 2.0에서 제공하는 새로운 제어 기능이 다음과 같다고 할 수 있습니다. 적은 양의 코드로 많은 로직 작업이 완료됩니다. 하지만 결국 그것은 단지 개인 웹사이트일 뿐이고 많은 곳에서 작업하는 것만으로는 충분하지 않습니다. 예를 들어 빈 양식을 제출할 수 있는데 아무런 확인도 수행하지 않습니다.
간단히 말해서, 이러한 새로운 컨트롤을 합리적으로 사용하면 효율성이 크게 향상되고, 프로그래밍 기술이 부족한 친구에게도 새롭고 날카로운 C# 경험을 경험할 수 있는 기회가 제공됩니다. 기능적인 관점에서 볼 때 저는 개인적으로 DW의 세발고양이 트릭보다 훨씬 낫다고 생각합니다. 많은 사람들이 여전히 DW에서 프로그래밍하는 방법을 논의하고 있는데 이는 실제로 DW가 인터페이스에 더 적합합니다.
페이징 문제에 관해서는 현재 ASP.NET 2.0에서 페이징 제어 작업을 하고 있는데, 일반적으로 1.1의 MSDN SQLPAGER를 기반으로 한 업그레이드 및 변환 작업을 하고, 두번째로 프로그램을 2.0으로 마이그레이션을 완료합니다. 사용자 컨트롤 형태로 자신의 취향에 따라 페이징 스타일을 자유롭게 확장할 수 있으며, 마이크로소프트 최신 엔터프라이즈 라이브러리의 데이터 접근 블록을 활용해 데이터베이스와 통신하거나, 필요한 것만 읽을 수 있다. 기록하여 효율성을 향상시킵니다. 기본적으로 완료되었으며 새 날 공개됩니다. 모두 관심을 가져주세요. 동시에 제한된 레벨과 에너지로 인해 필연적으로 일부 부족함과 단점이 있을 수 있지만 걱정하지 마십시오. 이 컨트롤은 소스 코드로 개발되었으므로 자유롭게 확장할 수 있으며 문제가 있는 경우 또한 소스 코드에서 확인하고 수정하세요.
빅데이터 페이징 문제와 관련해 오늘 인터넷에서 한 외국인이 꽤 흥미로워 보이는 내용을 보았는데, 시간을 내어 번역해서 모두에게 전해드리겠습니다. 일반적인 아이디어는 다음과 같습니다. SQL SERVER 2005의 ROW_NUMBER() 기능입니다. 작업을 시작하세요.