2010-03-30 2 views
0

안녕하세요,Gridview 검색 결과를 Session에 저장하는 것이 좋습니다?

사용자가 부품 목록을 검색 할 수있는 ASP.NET 3.5 웹폼을 만들었습니다. 두 개의 텍스트 상자 컨트롤은 저장 프로 시저에 입력 paramers를 제공합니다. gridview는 저장 프로 시저에서 검색 결과를 반환합니다.

수량에 대한 텍스트 상자가있는 템플릿 필드를 포함하도록 gridview를 향상 시켰으며, 수량 (수량)을 견적 요청에 추가하는 데 사용되는 gridview 바닥 글의 단추 컨트롤을 향상 시켰습니다.

사용자가 손톱과 해머를 검색하고 손톱을 선택하고 25 개 수량을 입력하고 1 개 수량의 망치를 선택할 수 있습니다. 이러한 품목 및 수량은 견적 과정에서 사용하기 위해 보관해야합니다.

질문 : 내 시나리오에서 볼 때, 세션에 그리드 뷰 수량과 부품 이름 등을 저장하는 것이 좋습니까? 그렇지 않은 경우, 나중에 견적 과정에서 사용하기 위해 이러한 항목을 저장하는 가장 좋은 방법은 무엇입니까?

덕분에, 시드

답변

1

가있는 gridview는 당신이 그것을 렌더링하는 즉, 내가 그 페이지에서 세부 사항을 유지하는 것, 표시되는 동안. 주문 과정을 계속하기 위해 그 페이지에서 물러나면 아마도 세션에 저장하거나 페이지의 숨겨진 영역에 보관할 것입니다.

이유는 세션이 모든 페이지 요청에로드되므로 가장 짧은 시간 동안 세션에 정보를 보관하고 싶지 않기 때문입니다.

사용자가 브라우저의 뒤로 및 앞으로 단추를 사용하는 경우 응용 프로그램을 더욱 복잡하게 만들면 예상되는 결과가 나타납니다. 그들이 손톱을 추가 한 다음 망치를 추가 한 다음 암머를 추가하기 전에 뒤로 버튼을 클릭 한 다음 스크루 드라이버를 추가하십시오. 주문이란 무엇입니까? 손톱, 망치, 스크루 드라이버? 또는 손톱과 스크루 드라이버? 따라서 가능한 경우 페이지에 데이터를 유지하는 것이 좋습니다. 왜냐하면 사용자가 뒤로 물러나면 주문 상태가 뒤로 돌아 가기 때문입니다. Becalful하지만, ViewState가 너무 많이 확장하는 페이지에 너무 많이 추가하고 싶지 않으므로, 필요없는 경우 ViewState를 감시하고 해제하십시오.

+0

사용자가 견적에 추가 버튼을 클릭 할 때마다 채워지는 다른 페이지 컨트롤을 추가하려고 생각했습니다. 이것은 2 가지를 수행합니다. 1) 20 개 부분 (광고 항목) 만 허용하는 비즈니스 로직을 유지합니다. 2) 사용자가 이미 선택한 항목을 알려줍니다. 내가이 작업을 보이는 컨트롤로 사용하면 어떤 유형의 컨트롤을 사용 하시겠습니까? – SidC

1

세션을 사용할 때 아무런 문제가 없습니다. 힘든 응용 프로그램처럼 들리지는 않습니다. 당신이 할 수있는 유일한 또 다른 일은 데이터베이스를 사용하여 데이터베이스에 임시 행으로 저장하는 것입니다. 당신이 그것을 필요로하지 않을 때 당신은 그것을 제거해야 할 것이다.

캐시 할 수있는 유일한 방법은 캐시하는 것입니다.

관련 문제