2

インデックスを変更しているMultiViewがあります。ページが初めて読み込まれ、アプリケーションが実行されるときthemultiview.ActiveViewIndex = 0;、ビューは最初のビューに変わります。ただし、viewindexが1に変更されるリンクボタンをクリックすると、自動ポストバックはtrueになりますが、機能しません。

問題が何であるかはわかりませんが、activeViewIndexがautopostback値がfalseの場合にのみ機能することは確かです。

問題は何でしょうか?

これが私のテストコードです。そして、何が起こるかというと、ビューインデックスは2〜10回クリックしても1のままです。

int temp = 0;

protected void HyperLink1_Click(object sender, EventArgs e)
{
    if (!(bool)ViewState["IsSigned"])
    {
        Panel11.Visible = true;
        Wizard1.Visible = true;
        Selector.Visible = true;
    }
    else
    {
        //detach cookie
    }
    if (temp == 0)
    {
        LoginView.ActiveViewIndex = 1;
        temp = 1;
    }
    else
    {
        LoginView.ActiveViewIndex = -1;
        temp = 0;
    }
}

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

変化する

int temp = 0;

の中へ:

private int Temp
{
    get
    {
        if(this.ViewState["temp"] == null)
            return 0;

        return int.Parse(this.ViewState["temp"].ToString());
    }
    set
    {
        this.ViewState["temp"] = value;
    }
}
于 2012-07-14T04:12:43.970 に答える