2010-02-22 2 views
2

MSDN documentation에 따르면 ScriptManager.GetStateString()"웹 페이지의 상태를 나타내는 키/값 쌍이 포함 된 문자열을 검색합니다."ScriptManager.GetStateString()은 어떻게 사용합니까?

내가이 메서드를 호출하면 해쉬 된 문자열로 보이는 것을 반환합니다. 어떻게 이것을 유용한 것으로 파싱합니까? 정확히 GetStateString 메서드에서 반환되는 것은 무엇입니까?

편집 : 내가 쿼리 문자열에 데이터를 페이지에서 양식을 제출하거나 추가 할 경우, GetStateString에 의해 반환되는 값이 변경되지 않는 것을 알 수 있습니다. "페이지 상태"에는 분명히 이런 종류의 상태 데이터가 포함되어 있지 않습니까?

업데이트 :ScriptManager.EnableSecureHistoryState = false으로 설정하면 해시 값이 빈 문자열로 바뀝니다. 분명히 EnableSecureHistoryState = true이면 GetStateString에 의해 반환 된 값은 암호화되고 해시됩니다.

답변

1

GetStateString()은 기록 해시에서 상태를 반환합니다.

히스토리 해시는 Ajax 애플리케이션의 브라우저 뒤로/앞으로 버튼을 사용 가능하게하는 대답입니다. 그것은 당신이 앞뒤로 갈 수 있도록 귀하의 항목을 기록합니다.

히스토리 해시에 데이터를 추가하는 방법은 AddHistoryPoint을 확인하고이 사용 예를 확인하려면 blog post을 확인하십시오.

히스토리 상태 해시 테이블이 비어 있지만 NULL이 아니기 때문에 ScriptManager.EnableSecureHistoryState = true 일 때 해시 응답을받는 이유. 그것은 여전히 ​​직렬화되고 암호화 될 수있는 객체입니다.

상태 해시가 NULL이거나 비어있는 경우 빈 문자열이 반환되며 이것이 사용자의 사례라고 생각됩니다. 히스토리 포인트를 추가하지 않았습니다.