2011-01-07 8 views
2

나는 다음과 같은 방법뷰 상태를 유지하지 값

public bool showstatusbox { 
    get { return Convert.ToBoolean(ViewState["statusbox"]); } 
    set { ViewState["statusbox"] = value; } 
} 

에서 뷰 상태를 사용하여 컨트롤의 "볼 수"속성을 유지하기 위해 노력하고있어 나는 값을 유지하려면이 아닌 다른 작업을 수행해야 있나요. 때문에, 내가보기 상태에서 값을 저장, 다시 게시, 그 null이되기 때문에.

+0

,이 속성을 사용하는 다른 코드를 추가해야합니다. – sgriffinusa

+0

aspx/ascx 코드를 게시 할 수 있습니까? – Chandu

+0

다른 코드를 사용하고 계시지 않습니까? 그것은 결국 본질적으로 전역 변수입니다. – asawyer

답변

0

나는이와 가지고 문제를 기억하고 같은 코드로 해결 :이 코드는 올바른 보이는

protected override object SaveViewState() 
{ 
    return new object[] { 
     TaxRate, 
     SubTotal, 
     Tax, 
     LetterId, 
     ActivityIds, 
     AssociateLettersToInvoice 
    }; 
} 

protected override void LoadViewState(object savedState) 
{ 
    var array = (object[])savedState; 
    TaxRate = (decimal)array[0]; 
    SubTotal = (decimal)array[1]; 
    Tax = (decimal)array[2]; 
    LetterId = (int?)array[3]; 
    ActivityIds = (string)array[4]; 
    AssociateLettersToInvoice = (bool)array[5]; 
} 
+0

위에서 무엇을하려고하는지 간단히 설명해 주시겠습니까? – chuckyCheese

+1

@ 록키 - 당신을 혼란스럽게하는 것을 알지 못해도 더 잘 설명 할 수 있다고는 생각하지 않습니다. – ChaosPandion

1

컨트롤에 EnableViewState가 true 인 것을 확인 했습니까?

+0

예! 하지만 여전히 작동하지 않습니다. – chuckyCheese

+0

좋습니다. 그리고 당신은 포스트 백 이후에이 변수를 체크하고있는 것이 틀림 없습니까? viewstate는 클라이언트에 숨겨진 필드로 저장되기 때문에 양식이 게시 될 때만 반환됩니다 (SubmitBehavior). –

관련 문제