自定义服务器控件内的Repeater内的文本框丢失值

时间:2011-01-04 16:06:34

标签: postback asp.net-3.5 viewstate repeater custom-server-controls

我正在开发我的第一个自定义服务器控件,它将显示带有文本框的字段列表。当回发包含此自定义服务器控件的页面时,文本框内的值将丢失,因为转发器被重新绑定,或者视图状态未保留值。

如何让转发器在回发之间保存文本框的值?

干杯!

2 个答案:

答案 0 :(得分:0)

您很可能不会在页面生命周期的正确阶段重新创建自定义控件。 Viewstate在生命周期的OnInit()事件发生后立即恢复。因此,如果您在此之后添加控件,则无法使用该控件来恢复Viewstate。

尝试将动态控件的创建移动到页面的OnInit()事件。

答案 1 :(得分:0)

如果动态填充转发器? 然后根据加载视图状态,您可能会遇到计时创建问题

尝试将所有动态控件创建放入Page_Init事件以防止计时创建问题

即不使用 Page_Load 事件,而是使用 Page_Init 事件在控件中以动态方式绑定数据。

protected void Page_Init(object sender, EventArgs e){ ..... }

问候,我希望我有所帮助