Multiview.ActiveViewIndex仅更改一次(或者如果autopostback为false)

时间:2012-07-14 02:07:30

标签: c# asp.net visual-studio-2010

我有一个MultiView,我正在改变索引。第一次加载页面,应用程序运行themultiview.ActiveViewIndex = 0;视图将更改为第一个视图。当我点击链接按钮将其更改为viewindex为1.虽然autopostback为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;
    }
}

如何解决此问题?

1 个答案:

答案 0 :(得分: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;
    }
}