在回发之前捕获数据(转发器中的用户控制)

时间:2012-05-09 16:13:48

标签: vb.net postback preload

我在ASP中有几个UserControl:Repeater。它们是“添加到购物篮”用户控件,带有数量的文本输入和用于将项目添加到购物篮的按钮。

我的问题是每当我在数量文本框中输入值时,值都会重置为1。我认为这种情况正在发生,因为包含页面重新初始化了转发器(它持有UserControls),并且在UserControl的click事件被触发之前数量又是一个。

任何人都可以告诉我如何在回发发生之前捕获文本框中的值,我很高兴暂时将这些数据保留在会话中。

我在想我需要一些PreLoad的东西?但那对我不起作用

1 个答案:

答案 0 :(得分:0)

我能够通过最终捕获用户控件的Unload事件来捕获值

 Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
            Dim quantity As Integer
            Session("Quantity" & litProductId.Text) = If(Integer.TryParse(txtQuantity.Text, quantity), quantity, 1)
        End Sub

我还必须将产品ID放在隐藏的文字中,因为属性值似乎已经消失了。感觉有点像黑客,但现在已经完成了工作。很高兴听到任何其他解决方案