반응형

IE8에 의해서 간간히 발생하는 오류로써

처음에는 무슨 오류가 싶어서 하루 종일 소스만 보면서 파고 들었는데

결국 "..WebResource.axd?d=XXXXXXX" d 파라미터 뒤에 QueryString이 중간에 짤려있었다..ㅠㅠ

간단한 해결 방안은!!!!!!!!!!!!!

head안에 정의 되어 있는 <meta http-equiv="content-type" content="text/html; charset=utf-8" />

메타태그를 Page_Load 함수로 옮겨놓는 것이다.ㅋ

Response.ContentType = "text/html";
Response.Charset = "utf-8";

요렇게 말이다.!!

브라우저의 문제였단 말인가..ㅜㅜ

아..머리아포~~

참고 사이트
http://blog.soft-cor.com/?tag=/scriptresource.axd
http://alterprocedure.net/articles/alterprocedure/aspnet-causing-corrupted-html-with-webresourceaxd-and-scriptresourceaxd.aspx
반응형
반응형

asp.net을 하다 부딪히게 되는 가장 큰 장애중 하나로

뒤로가기가 제대로 안되는 문제가 있습니다.

"이거 asp나 jsp로 할 때는 아무 문제도 아니었는데 말야..

닷넷 정말 좋은 거 맞는거야? " 라고들 생각하셨겠죠..

 

물론 javascript로 history.back() 하는 것보다는 복잡하지만

생각보다는 쉽게 구현할 수 있습니다.

원리는 간단합니다.

PostBack의 카운트를 세어서 그만큼 뒤로가기를 시켜주는 것입니다.

 

Page_Load 이벤트에 다음과 같이 코딩해주시면 됩니다.

if (!IsPostBack)
{
    ViewState["History"] = -1;   

}
else
{
    ViewState["History"] = Convert.ToInt32(ViewState["History"]) - 1;
}

btnList.Attributes["onclick"] = "history.go(" + ViewState["History"].ToString() + ");return false";

 

 

처음 그 페이지에 들어왔을 때에는 history.go(-1)을 해주면

뒤로 가니까 초기값을 -1로 주었습니다.

그리고 PostBack이 일어날 때마다 그 값을 하나씩 빼줍니다.

그 다음엔 돌아가야할 카운트를 되돌아가기 버튼에 할당해줍니다.

 

되돌아가기 이벤트를 서버 이벤트로 처리할 수도 있었지만

필요없는 네트웍 트래픽만 일으키게 되기 때문에

클라이언트쪽 이벤트로 처리해 보았습니다.

반응형

+ Recent posts