2010-12-14 2 views
2

기본적으로 고객이 구성 할 수있는 품목으로 장바구니를 만들 수있는 웹 사이트가 있습니다. 사용자가 항목을 선택하면 원하는 첫 번째 옵션을 선택하라는 메시지가 표시되고 두 번째 옵션을 선택하는 두 번째 단계로 이동합니다.몇 가지 자동 리디렉션을 처리하는 적절한 방법은 무엇입니까?

단계 수와 옵션 수 변수는 클라이언트에 의해 정의되므로 가변적입니다. 일반적으로 항목은 5-10 개의 옵션이있는 2-3 단계 만 있습니다. 그러나 고객을 위해 더 빨리 수행 할 수 있도록 주어진 단계에서 사용 가능한 옵션이 하나만 있으면 자동으로 선택되고 사용자는 다음 단계로 보내집니다.

클라이언트는 각 단계마다 단 하나의 옵션으로 10 개 이상의 단계로 항목을 설정하기로 결정했습니다. 결과적으로 전체 프로세스가 자동으로 모든 것을 선택하게됩니다. 이

파이어 폭스는 서버 이 그 것이다 결코 완전한 방법이 주소에 대한 요청을 리디렉션되는 것을 감지 한 오류를 제공 파이어 폭스는이를 좋아하지 않는다.

(IE는 비슷한 오류를 표시하지만 IE는 확인하지 않았습니다.)

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

는 지금 과정은 기본적으로

  1. 사용자가 항목을 선택합니다 하나 이상의 옵션을 사용할 수있는 경우
  2. 사용자가 옵션을 선택합니다입니다. 그렇지 않으면 웹 사이트 자체가 3 단계를 수행합니다.
  3. POST는

내가 있도록 코드 나 페이지로 만들 수있는 변화가 필요 Page.aspx?step=#

  • 단계를 반복하여 장바구니에 2-4로 여러 번
  • 리디렉션 옵션을 추가 파이어 폭스는 내가 끝없는 반복을하고 있다고 생각하지 않는다?

  • 답변

    4

    매번 #이 다르면 끝없는 리디렉션 오류가 발생하지만 어느 방법이든 이것이 최고의 아키텍처처럼 보이지 않는다는 것에 놀랐습니다. 기본적으로 코드가 자동으로 단계를 결정할 경우 즉시 새 단계 번호로 동일한 페이지로 리디렉션됩니까?

    리디렉션없이 코드를 수행하고 필요에 따라 서버 코드의 페이지 번호를 증가시키고 리디렉션하지 않고도 올바른 단계를 직접 보여줄 수있는 이유는 무엇입니까?

    각 단계마다 POST 할 때 일어나는 일이 무엇이든 실제로 새로운 게시물을 작성하지 않고도 코드에서 쉽게 수행 할 수 있다고 생각합니다.

    1

    I는 다음과 같이 작동 것 같은데요 :

      데이터 만 포함 된 경우
    1. 변수 로컬 단계에서 전달 데이터베이스에서

    2. 데이터로드 지역 변수에 쿼리 문자열에서
    3. 읽기 단계 # 하나의 옵션 :
      (3.2


    단계의 데이터로 1) 저장 옵션
    (3.2) 증가 지역 단계 변수
    (3.3) 고토 2

  • 로드 페이지 어떻게 코드는 사람이 건너 뛰는 옵션을 처리 않습니다 Page.aspx? step = 1을 입력 할 때 주소 표시 줄에 Page.aspx? step = 10을 입력하십시오.

  • +0

    사이트는 10 단계에서 1 단계에서 9 단계가 완료된 것으로 표시되는지 확인합니다. 그렇지 않으면 첫 번째 완료되지 않은 단계로 다시 전송됩니다. – Brandon

    +0

    그런 경우에는 페이지의 #을 URL에 포함하는 것이 서버의 복사본이 마스터라면 어쨌든 문제를 복잡하게 만드는 것처럼 보입니다. – Greg

    관련 문제