.NET에 익숙하지 않지만 viewstate에 대한 간단한 값 (1에서 1000 사이의 숫자, 특정 div
의 높이)을 저장하려고합니다. 업데이트 패널이 다시로드되면 (어딘가에서 또는 자바 스크립트로 마크 업에서) 가져옵니다. 가장 간단한 방법은 무엇입니까? 나는 예를 strColor에 액세스하는 방법이나 위치에 완전히 명확하지 않다, 그러나viewstate에 값 저장 및 읽기
string strColor;
if (Page.IsPostBack)
{
// Retrieve and display the property value.
strColor = (string)ViewState["color"];
Response.Write(strColor);
}
else
// Save the property value.
ViewState["color"] = "yellow";
:
나에게 다음 코드를 제공합니다.코드 뒤에 있기 때문에 Response.Write
코드는 어디서 빠져 나갈 수 있습니까? 이 코드를 시도 할 때 찾을 수 없습니다. 그리고 자바 스크립트를 사용하여 그 값을 코드 뒤에 설정하는 대신 어떻게 설정합니까?
이것은 매우 도움이된다 - 나는이 점에서 매우 새로운 것이 유감이지만 그렇지 않다. 숨겨진 필드를 다시 게시를 통해 그 가치를 유지하는 방법을 분명히합니다. 숨겨진 필드를 만들었고 자바 스크립트로 업데이트 된 값을 유지하고 있습니다. 따라서 div 높이가 30이면 숨겨진 필드는 30이지만 다시로드 할 때 숨겨진 필드는 다시 null입니다. 내가 뭘 놓치고 있니? 편집 : - 아! 죄송합니다. 자동으로 처리됩니다. 나는 캐시 문제가 있었음에 틀림 없다. 이것은 완벽하게 작동합니다, 감사합니다! – brentonstrine
당신은 아무것도 놓치지 않았습니다. 페이지가 다시로드되면 "url을 입력하고 Enter를 누르십시오"와 같이 처음으로 페이지를 방문하기 때문에 값이 재설정되는 것이 정상입니다. 다시 게시 (즉, 페이지의 버튼을 클릭하고 양식을 제출)에 대해 이야기하는 경우 ViewState가 자동으로 보존하기 때문에 숨겨진 필드의 값을 보존해야합니다. 그게 사다리 야. 너 한테 무슨 일이 일어난거야? – Icarus
맞습니다 : 포스트 백 작업을 수행하는 대신 재로드 중이었기 때문에 혼란 스러웠습니다. 값을 다시로드하여 유지하려면 서버에 저장해야 할 필요가 있습니다. 지금 당장은 내 노력이 가치가 없으므로 필요한 것은 다시 게시를 통해 지속되도록하는 것이므로 지금은 고마워합니다! – brentonstrine