저는 여전히 상대적인 멍청한 놈입니다. 그러나 제가 한 작은 테스트의 결과에 놀랐습니다.viewstate에서 항목 수정하기 - 안전할까요?
viewstate에 문자열 목록을 저장하려고합니다. 지금까지 내가 viewstate에서 검색 한 목록을 수정하려면 List.Add를 수행하고 viewstate에 다시 저장했습니다. 당신이 볼 수 있듯이, 나는 목록을 작성
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<string> s = new List<string>();
s.Add("abc");
s.Add("def");
ViewState.Add("test", s);
s.Add("one");
s.Add("two");
}
var t = (List<string>)ViewState["test"];
foreach (var str in t)
{
Response.Write(str + "<br>");
}
}
, 다음 목록을 수정, viewstate가에 추가 :
그러나, 나는 여기에 그것은 다음과 같습니다, 간단한 테스트를하기로 결정했다. 필자의 경우 목록은 postback 후에도 viewstate에서 수정됩니다.
질문은, 이것을하는 것이 안전한지, 그렇다면 나쁜 습관이라고 생각합니다.
미리 감사드립니다.
매우 유익한 - 왜 이런 일이 벌어지고 있는지 이해할 수 있으며, 따라서이 방법을 사용하기에 용인 할 수 있고 받아 들일 수없는 시점을 결정할 수 있습니다. – dotnetnoob
viewstate에 데이터를 저장하는 데 심각한 결과가 있기 때문에 정확한 정보가 없다고 말할 수는 없습니다. 제어 상태는 사용자가 제어 상태를 직접 변경할 수 있기 때문에 한 가지 일이지만 임의의 데이터는 다른 것입니다. – Andy
@dotnetnoob ViewState에 데이터를 저장하는 데 약간의 부정적 결과가있을 수 있습니다. 그 대답은 항상 안전하거나 좋은 생각이 아닙니다. – Andy