Repeater中的用户控件

时间:2009-02-22 15:24:55

标签: c# asp.net user-controls postback repeater

我有一个提供投票按钮的用户控件(对于SO类投票模型) - 它包含一个保留记录ID的私有int成员。在转发器之外,它的功能很好 - 回发工作,并且正确的id保留在用户控件中。

在转发器内部,itemdatabound事件处理程序将正确的ID与usercontrol关联,并且它可以正常工作 - 从数据库中显示正确的投票计数。但是,当按下其中一个投票按钮时,它会触发对用户控件的回发,并且控件已丢失其私有int成员的内容,因此它不再起作用。

我已尝试在回发时重新数据绑定usercontrol,并仅在初始加载时绑定它 - 问题在两个方面都是相同的。

如何让usercontrol在回发中保留该int的值?

1 个答案:

答案 0 :(得分:5)

您是否尝试将该值放入viewstate?

public string Id{
    get
    {
        return this.ViewState["Value"] == null ?
            0 :
            (int)this.ViewState["Value"];
    }
    set { this.ViewState["Value"] = value; }
}