我有一个提供投票按钮的用户控件(对于SO类投票模型) - 它包含一个保留记录ID的私有int成员。在转发器之外,它的功能很好 - 回发工作,并且正确的id保留在用户控件中。
在转发器内部,itemdatabound事件处理程序将正确的ID与usercontrol关联,并且它可以正常工作 - 从数据库中显示正确的投票计数。但是,当按下其中一个投票按钮时,它会触发对用户控件的回发,并且控件已丢失其私有int成员的内容,因此它不再起作用。
我已尝试在回发时重新数据绑定usercontrol,并仅在初始加载时绑定它 - 问题在两个方面都是相同的。
如何让usercontrol在回发中保留该int的值?
答案 0 :(得分:5)
您是否尝试将该值放入viewstate?
public string Id{
get
{
return this.ViewState["Value"] == null ?
0 :
(int)this.ViewState["Value"];
}
set { this.ViewState["Value"] = value; }
}