1

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

我的问题是,每当我在数量文本框中输入一个值时,该值就会被重置为 1。我认为这是因为包含页面重新初始化了转发器(其中包含 UserControls),并且在触发 UserControl 的单击事件之前数量再次变为 1。

谁能告诉我如何在回发发生之前捕获文本框中的值,我很高兴现在将这些数据粘贴到会话中。

我在想我需要一些类似于 PreLoad 的东西?但这对我不起作用

4

1 回答 1

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 放在隐藏文字中,因为此时属性值似乎已经消失。感觉有点像黑客,但现在完成了工作。很高兴听到任何其他解决方案

于 2012-05-21T10:32:17.640 回答