0

これは既存のサイトの修正であり、そのように設計されていないため、jQuery または Javascript を使用していません。さて、DropDownList が選択されて postBack になったときに、textBox の readOnly ステータスを true または false に設定するロジックを実行するところまで来ました。私が今抱えている問題は、selectValue が一貫していないことです。選択フィールドに表示されるものは、ページに戻されるものではありません。選択する選択肢として、なし、5.00、10.00、15.00、20.00 があるとします。最初に 10.00 を選択すると、[なし] が返され、次に 20.00 を選択すると、10.00 が表示されます。以前の選択値をポストバックします。サイト全体はコード ビハインド ページから書かれています。aspx ページは .vb ページから完全に書き込まれます。すべてがaspタグに書き込まれます。これがコードです。

            If Page.IsPostBack Then
                If product_option_is_required > 0 then
                    myTextBox.ReadOnly= true
                Else
                    myTextBox.ReadOnly= false
                End if
                For Each child_control As Control In productOptions.Controls
                    If TypeOf child_control Is DropDownList Then
                        Dim child_ddl As DropDownList = child_control
                        tempName = products.getProductDependant("product_option_name",product_option_id)
                        tempSelectText = products.getProductSelectDependant("product_option_detail_name",child_ddl.SelectedValue)
                        priceDependant.Text ="here" & child_ddl.ID & " " & child_ddl.SelectedIndex & " " & child_ddl.SelectedValue & " --" & tempSelectText
                        If child_ddl.Text = "None" then
                            myTextBox.ReadOnly = true
                            myTextBox.Text = "If selected above enter name"
                        Else
                            myTextBox.ReadOnly = false
                            myTextBox.Text = ""
                        End if
                    End If

                next
            End if
4

1 に答える 1

0

コードでは、文字列値のようにdependantProdを使用しています。

dependantProd = tempName.Replace(" ", "_") & "_" & product_option_id

文字列の場合、このようにすることはできません-

dependentProd.SelectedIndex > 0 の場合

また、コントロールを動的に作成する場合は、ポストバックで取得する必要があります。そうしないと、投稿された値を取得できません。

https://stackoverflow.com/a/14462040/296861

https://stackoverflow.com/a/14449305/296861

于 2013-01-25T21:41:28.847 に答える