1

ASP:Repeater にいくつかの UserControls があります。これらは、数量のテキスト入力とアイテムをバスケットに追加するボタンを備えた「バスケットに追加」ユーザー コントロールです。

私の問題は、数量テキスト ボックスに値を入力するたびに値が 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 に答える