2012-11-23 1 views
2

ASP.net에서 새로운 입찰가로 분류 된 항목의 사용자 친화적 인 목록을 보유하고있는 웹 사이트를 개발했습니다. 항목에 대한 세부 정보 (이미지 갤러리, 텍스트, 문의 양식, 그런 종류의 물건 및 나중에 사용자 의견 및 요율). 많은 것을 읽었지만 여전히 내 질문에 대한 결론을 얻을 수 있으므로 조언을해라. 지금 당장 결정하려고하는 2 가지 중요한 것들에서 [좋은 성능 + 낮은 복잡성 + 더 이상 사용하지 않는 것이 좋지 않음] 권장 사항이 필요하다. 나는 SqlDataSource 용 SQL을 작성하는 것에 신경 쓰지 않지만 Linq가 새로운 시대이므로 2 년 후에 쓸모없는 사이트가 생길 것을 두려워한다. 아니면 Linq 혜택에 관심을 지불하지.ASP Recomendation needed : (Linq 또는 SqlDataSource?) + (Response.Write 또는 UserControls 또는 Repeater?

2) 회사 타겟 고객을 위해 레이아웃이 매우 엄격하기 때문에 페이지 매기기 목록에 gridview 컨트롤을 사용할 수 없다고 생각합니다. 제품 목록의 웹 디자인은 일종의 YouTube 동영상 결과 목록입니다. 클릭하면 다른 페이지의 항목에 대한 구멍 정보가 표시됩니다. 제품 목록에 대한 HTML 코드는 어떻게 작성해야합니까? 나는 "html"+ 독자 데이터 (쿼리 결과)를 연결하여 Response.Write()를 사용하여 페이지로 보냈지 만 UpdatePanel과 쉽게 작동하지 않는다는 것을 읽었습니다. 그것?. 그런 다음 리피터에 대한 정보를 읽기 시작했지만, 필자가 본 모델 클래스에 접근하는 것을 허용하지 않을 것이라고 생각합니다. 마지막으로 필자는 사용자 정의 HTML 블록 (내부 div가있는 스타일 목록 항목)을 유지하고 목록을 생성 할 수있는 몇 가지 클래스 속성 (데이터베이스 정보)을 추가 할 수있는 "ASP 사용자 제어"기능에 대해 읽으려고 시작합니다. 현재 레이아웃에서 제품의 곧 Ajax 호출을 구현하라는 요청을받을 수 있음을 명심하십시오.

프로젝트를 계속 진행하면서 세부 사항을 배우기 위해 가장 좋은 (권장) 기술을 알아야합니다. 감사합니다.

답변

2

GridView는 테이블 데이터 용으로 설계되었습니다. 그것은 당신이 묘사하고있는 방식으로 조작 될 수 있지만 그것이 중요하지 않습니다. 리피터 또는 ListView 당신이 원하는대로 설명하는 것에 관해서는 훨씬 더 잘 할 것이다. 보조 노트로, 이러한 모든 데이터 바인딩 된 컨트롤은 코드 측에서 수행 할 수있는 반복자를 사용하거나 일반적으로 DataSource 컨트롤을 사용할 수 있습니다.

메모리에 html 테이블을 작성하고 응답 쓰기 (또는 문자 그대로의 컨트롤)를 사용하는 것이 빠르지 만 프리젠 테이션 레이어를 변경하기 위해 재 컴파일해야하며 명시된대로 업데이트 패널에서 작동하지 않습니다.

그렇다면 결코 UpdatePanel을 사용하지 않습니다. jquery를 사용하여 데이터를 게시/가져온 다음 jquery를 사용하여 UI에 영향을주는 변경 사항을 적용합니다.

서버 기반 솔루션을 사용하는 것 외에도 asp.net과 함께 MVC 양식을 작성하기위한 Knockout.js 라이브러리와 같이 사용할 수있는 CLIENT 측 솔루션이 있습니다.

Linq 대 SqlClient는 정말 중요한 문제이며, 각각 장점과 단점이 있습니다. Linq-to-SQL은 (대부분의 경우) 사용하기 쉽지만 기본 데이터베이스에 대한 변경 사항은 DataContext에 반영되어야합니다. 개인 메모에서 나는 Linq-to-SQL을 좋아하고 가능할 때마다 그것을 사용합니다.

+0

고맙습니다. Stephen, 프로젝트 목록보기 및 리피터에서 두 가지 해결책을 모두 사용해 보았습니다. 업데이트 패널 (실제로는 쉽고 멋지다)까지는 ** 훌륭한 ** 결과가 있습니다. DataSource를 사용하기로 결정했습니다. 데이터 소스 속성으로 일부 클래스를 만들었으므로 코드의 listview 또는 repeater를 subject 클래스에있는 객체로 바인딩합니다. 다시 한번 감사드립니다. – Drakell