代表不会更新页面

时间:2009-07-31 16:36:42

标签: c# asp.net delegates

我正在尝试使用委托来更改多视图的活动索引,但它不能像我期望的那样工作。

这是我的代码

        protected void ucWaitPage_FinishedWaiting(PerformAfterWaitDelegate performAfterWait)
    {
        performAfterWait.Invoke();
        this.SetIndex();
    }

    private void SetIndex()
    {
        this.mvwTest.ActiveViewIndex = 0;
    }

performAfterWait Delegate指向SetIndex()方法。

当调用performAfterWait委托时,调用SetIndex(),但是当SetIndex()返回this.mvwTest.ActiveViewIndex恢复为等于1时。

但是当我直接调用SetIndex()方法时,它会设置this.mvwTest.ActiveViewIndex = 0,并且当方法返回时更改仍然存在。

1 个答案:

答案 0 :(得分:0)

  

当performAfterWait委托时   调用SetIndex()被调用   但是当SetIndex()返回时   this.mvwTest.ActiveViewIndex还原   等于1。

如何验证这一点,你可以在调用函数之后放置Debug.WriteLine(this.mvwTest.ActiveViewIndex)吗?

顺便问一下,你想用invoke来调用那个方法?你只想测试代表吗?如果您仍在同一个线程中调用,我看不到优势。