0

コードプロジェクトの記事に出くわしたときに、コントロールの状態を調べようとしています

http://www.codeproject.com/Articles/331981/A-Beginner-s-Tutorial-Understanding-ControlState-i

しかし、その例では、「テキスト」値のみが制御状態に保持されています。両方を保持する必要がある場合はどうなりますか? だから私はこのコードを試しました

    protected override void OnInit(EventArgs e)
    {
        Page.RegisterRequiresControlState(this);
        base.OnInit(e);
    }

    protected override object SaveControlState()
    {
        object[] state = new object[2]; // save the 2 properties
        state[0] = Text;
        state[1] = Text1;

        return state;
    }

    protected override void LoadControlState(object savedState)
    {
        object[] state = (object[])savedState;
        Text = (string)state[0];
        Text1 = (string)state[1];
    }

しかし、うまくいかないようです..誰か助けてくれませんか???

前もって感謝します

4

1 に答える 1

0

配列の代わりに辞書またはリストを使用できます

protected override object SaveControlState()
{
    var state = new List<string>(); // save the 2 properties
    state.Add(Text);
    state.Add(Text1);

    return state;
}

protected override void LoadControlState(object savedState)
{
    var state = (List<string>)savedState;
    Text = state[0];
    Text1 = state[1];
}
于 2013-12-26T06:51:57.100 に答える