0

サーバー転送の目的で、以前のPHPWebアプリケーションをVisualBasicでASP.Netに変換している最中です。

私がやろうとしているのは、チェックボックスのセットをループして、チェックされているかどうかを確認し、チェックされている場合は、それらの値を文字列に追加することです。

私が読んだところによると、ASPコントロールの代わりにHTML入力として設定されたチェックボックスは、ループして値を取得するのが難しい場合があります。

また、チェックボックスはチェックボックスの追加グループを制御するため、たとえば、checkbox1がチェックされている場合、チェックボックスのグループAをチェックして、どれがチェックされているかを確認する必要があります。チェックボックス3がチェックされている場合、グループBなどをループする必要があります。

すべてのチェックボックスには、単純な増分命名規則(PE1、PE2、PE3など)のIDがあります。

VBを使用してASPでこれを行うための最良の方法は何ですか?PHPでは、送信されたチェックボックスをループし、変数とカウンターを使用してそれらを識別するのは簡単でした。

var name = 'PE';
For(i=1; i<10; i++){
    checkbox = name.i;
    if(checkbox.checked){
        Blah blah. You get the point.
    }
}

しかし、vb.netでこれを行う方法がわかりません。

私はFindControlを試しましたが、これまでのところ、それを使用可能なコードに転送することはほとんどできませんでした。

考え?

4

2 に答える 2

0

これらがHTMLコントロールであり、asp.net CheckBoxコントロールではない場合は、javscript(オプションの場合はjQuery)を使用してこれを行います。

これを行うためにサーバー側を使用することを主張する場合は、すべてのhtml入力にを追加してから、 FindControlrunat="server"を使用してサーバー側でそれらを検索する必要があります。実際、私が大声で言ったので、javascriptを使用しない場合は、おそらくそれらをasp.netCheckBoxコントロールに変換する必要があります。

于 2013-03-07T17:19:23.130 に答える
0

ASPチェックボックスとHTMLチェックボックスのループの最大の違いは、使用する必要のあるタイプをチェックするときです。「チェックボックス」ではなく「HtmlInputCheckbox」です。それを理解するのに長い時間がかかりましたが、今ではループはうまく機能しています。

If TypeOf ctrl Is HtmlInputCheckBox Then
     Dim chkbox As HtmlInputCheckBox = CType(ctrl, HtmlInputCheckBox)
     If chkbox.Checked Then
     Blah
     End If
End If

答えてくれてありがとう!

于 2013-03-12T00:49:30.807 に答える