2011-01-05 5 views
1

여러분 모두가 ASP.NET 응용 프로그램처럼 항상 어떤 잘못된 viewstate가 오류를 던지고 보인다 알다시피하지만 지금은 내가 실제로 내 사이트에 하나를 재현 할 수있는 방법을 찾을 수 있습니다. 무슨 일이 일어나고 무엇사용자 정의 404 페이지 잘못된 viewstate가 오류

은 사용자가 존재하지 않는 페이지에 액세스하려고하는 것입니다 그리고 난은 수행

if (CurrentItem == null) { 
     throw new HttpException(404, "Page not found"); 
    } 

이것은 우리의 사용자 정의 404 페이지로 사용자를 리디렉션합니다. 이 404 페이지는 web.config를 통해 리디렉션되는 시스템의 일반 페이지 일뿐입니다. 검색 기능이이 페이지에 표시됩니다. 하지만이 페이지에서 다시 게시 할 때 오류가 발생하는 것 같습니다. 그래서 예를 들어 가면.

http://alternativeto.net/software/doesntexist

그리고 예를 드롭 박스의 오른쪽 상단 및 형식 검색 양식을 사용, 당신은 자동 제안 클릭하지 얻을 경우 (Enter 키를 누르 그것이 그 응용 프로그램에 당신을 연결 만 것입니다 원인) 및 baam, "잘못된 Viewstate"bla bla 오류가 발생합니다.

사람이 어떻게이 문제를 해결할 수있는 방법을 알아? 그것은 내가 404 오류를 throw하는 방법 beacuse인가요? 그게 뭔가 사용자 정의 404 페이지 및 viewstate 및 asp.net 마법에 어떤 방향으로 어떤 방식으로 잘못된 상태로 리디렉션 할 일이 상상할 수 있습니까? 어쩌면 내가 이것을 수정할 수있는 web.config에서 뭔가를 바꿀 수 있습니까? 내가 얻을 수있는 모든 도움을

감사합니다! 물론 :) 내가 그것을 자신을 해결처럼

이 보인다

UPDATE의 가능한 한 많은 오류를 없애려고. MS는 그들이 변경을 권장하는 보안 버그가 있었을 때 오류가 난 redirectMode = "ResponseRedirect"에 변경 때 잘 작동하는 것 같다 redirectMode = "ResponseRewrite"로 리디렉션!

업데이트 2

그러나 나는 또한 내가 오히려 오류를 가지고 해당 URL에 남아있을 것입니다 그리고 훨씬 더 청소기이기 때문에 ResponseRewrite 솔루션을 갖고 싶어 실현. 그래서 나는 여전히 ResponseRewrite와 함께 작동하는 솔루션을 발견하게되어 기쁠 것입니다.

답변

0

검색 상자가 항상, POST를 결코 얻을 사용해야합니다 (!). 그래서 양식 방법 = 사용하여 텍스트 상자를 장식하고, 검색을위한 포스트 백을 사용하지 않는 행동 = "searchpage"을 "얻을"당신이 집에 무료이며, 모든 방문자가 행복

+0

아 것, 그것은 아마 좋은 제안입니다. 어쨌든 쿼리 문자열을 사용하여 리디렉션을 수행하고 있으므로 물론 모든 경우에 훨씬 효율적인 솔루션입니다. 그러나 ASP.NET은 전체 페이지가 큰 형식이기 때문에 이러한 것들에 관해서는 조금 이상합니다. 그래서 Javascript 나 내가 생각한 어떤 것으로해야합니다. – Olaj

관련 문제