2009-04-17 2 views
2

asp.net에서 실망한 문제가 있습니다.ASP.NET 처음로드 할 때 쿼리 문자열이 제거됩니다.

  1. 를 열고 새로운 브라우저 (클리어 역사, 임시 파일 등)
  2. 로드 www.mysite.com/page.aspx?anystring=1234
  3. www.mysite으로로드 페이지. co.kr/page.aspx. querystring이 사라질 것입니다. 뭔가가 리디렉션되어 삭제되었습니다.

그러나 :

  1. 를 열고 새로운 브라우저 (클리어 역사 등 임시 파일 ...)
  2. 로드 www.mysite.com의 모든 페이지입니다.
  3. 로드 www.mysite.com/page.aspx?anystring=1234
  4. 쿼리 문자열이 보존되고 page.aspx? anystring = 1234가 올바른 값으로로드됩니다.

www.mysite.com/page.aspx?anystring=1234가 사용자가 열려고하는 첫 번째 페이지 인 경우 쿼리 문자열은 리디렉션과 같은 모양으로 제거됩니다. 어떤 코드가 페이지 나 코드 뒤에 있는지는 중요하지 않습니다.

아이디어가 있으십니까?

+0

"dissapear"로이 질문에 태그를 추가하는 것은 좋은 일입니다. 첫째로, 나는 그 태그를 공유하는 다른 질문들로 가득차는 것을 보지 못한다. 그리고 두번째로 철자가 잘못되었다 :-) –

+0

당신은이 문제의 원인이 될 수있는 세션/응용 프로그램 시작 이벤트 (Global.asax 물건)에서 excuting 코드를 가지고 있는가? ? –

+0

QueryString이 사라진 후 Trace.axd를 보면 몇 가지 단서가 생길 수 있습니다. – rvarcher

답변

1

ASP.Net의 쿠키 기반 세션 관리는 쿠키를 작성하고 리다이렉트하여 쿠키가 다시 생성되는지 확인합니다. 전에 URL 매개 변수를 사용하는 것을 경험하지 못했지만 첫 페이지 뷰에서 리디렉션을 수행하는 것이 하나 있습니다. 당신이 시도 할

+0

당신은 강타 중입니다. 나는 작은 조각의 코드를 사용하여 masterpage.cs의 언어 설정을 기억하고있다 : Response.Cookies.Add (새로운 HttpCookie ("Culture", "en-US"))); 주석 달기를 유지하면서 주석을 달았습니다. 이제는 다른 방법을 사용하여 선택한 언어를 유지하는 방법을 알아 내야합니다. 고마워요. – Paulj

0

몇 가지 :

당신은 파이어 폭스 IE 나 파이어 버그위한 유틸리티와 같은 ieHttpHeaders를 사용하여 HTTP 트래픽이 일어나는 상황을 확인하기 위해 볼 수 있었다. 이렇게하면 요청에서 전송되는 매개 변수를 볼 수 있고 예기치 않은 방식으로 브라우저가 리디렉션되는지 확인할 수 있습니다.

매개 변수의 값을 표시하고 작동하는지 확인하는 동일한 가상 디렉터리 아래에 테스트 페이지를 만들면 구성 문제 나 page.aspx 내의 코딩 문제로 좁힐 수 있습니다.

+0

좋은 아이디어, 고마워요. – Paulj

+0

그는 코드가 어떤 내용인지는 중요하지 않으므로 새로운 페이지를 만드는 것은 이미 시도 된 것처럼 들릴 것이라고 말했습니다. –

+0

아마 page.aspx에서 코드를 주석으로 처리하려했을 수도 있습니다. 허용 된 답변에 대한 OP의 의견에 따르면, 새 페이지를 만드는 것이 결국 좋은 체크 일 것입니다.또한 나의 첫 번째 제안은 쿠키와의 상호 작용이 어떻게 예상대로 작동하지 않았는지 보여줄 수있었습니다. 이것은 정말로 도움이되지 않은 대답 이었습니까? –

관련 문제