2012-11-19 4 views
2

EnableHistory가 "True"로 설정된 ScriptManager가 있습니다. AddHistoryPoint 메서드를 사용하여 페이지의 일부 필터에 대한 필터 용어를 저장합니다.빈 매개 변수를 사용하여 ScriptManager AddHistoryPoint를 처리하는 방법?

예를 들어

:

this.ScriptManager.AddHistoryPoint("filterterm", "somevalue"); 

그래서 브라우저의 주소 표시 줄을 보여줍니다 내가 모든 필터를 제거하고 그래서 역사 점을 저장해야하는 경우를 제외하고

.../mypage.aspx?id=1#&&filterterm=somevalue 

그것은, 완벽하게 작동 같은 키가없는 경우 (즉, string.Empty 키 사용)

브라우저에서 주소 표시 줄에 다음과 같이 표시됩니다.

.../mypage.aspx?id=1# 

빈 앵커에 주목하십시오. 페이지의 스크롤 위치가 상단으로 재설정됩니다. 이것은 매우 성가신 일입니다.

해결 방법이 있습니까?

답변

0

현재 나는 최상의 솔루션을 사용하지 않았지만 적어도 작동합니다. 필터 조건이 추가 될 때 추가되는 더미 매개 변수를 추가했습니다. 모든 필터 조건이 제거되면 더미 매개 변수가 URL에 그대로 남게되어 스크롤 위치가 재설정되지 않습니다.

this.ScriptManager.AddHistoryPoint("filter", "1"); 

참고 : 매개 변수를 구문 분석 할 때는 더미 매개 변수를 무시해야합니다.

관련 문제