我在ASP中有几个UserControl:Repeater。它们是“添加到购物篮”用户控件,带有数量的文本输入和用于将项目添加到购物篮的按钮。
我的问题是每当我在数量文本框中输入值时,值都会重置为1。我认为这种情况正在发生,因为包含页面重新初始化了转发器(它持有UserControls),并且在UserControl的click事件被触发之前数量又是一个。
任何人都可以告诉我如何在回发发生之前捕获文本框中的值,我很高兴暂时将这些数据保留在会话中。
我在想我需要一些PreLoad的东西?但那对我不起作用
答案 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放在隐藏的文字中,因为属性值似乎已经消失了。感觉有点像黑客,但现在已经完成了工作。很高兴听到任何其他解决方案