0

コード言語 = VB。ASP.NET 4.0

私のページにはデフォルトで挿入モードに設定されたフォームビュー コントロールがあるため、ページがロードされたときにできることは、レコードを挿入することだけです。デフォルトで「なし」の値にバインドされたドロップダウンリストがあります..これは、休暇の種類として分類できます..次に、時間として分類されたテキストボックスがあります..

誰かがドロップダウンリストから値を選択する必要があるテキストボックスに時間を入力していることを確認したいと思います。

ここまで来たら、それを 3 回繰り返さなければならないので、複数のコントロールをグループ化または参照するコントロールを記述する方法も見つけたいと思います。

txtbox1.text > 0 の場合、dropdownlist1.selected 値は >0 でなければなりません

そこから始めたばかりで近づくことができたかもしれませんが、フォームビューコントロールを使用してaspで作業するのは、実際にコントロールを見つけるのが少し難しいと感じています。次のステートメントを使用して、苦痛のあるコントロールを操作する必要があります directcast(formview1.findcontrol("textbox1"), textbox).text

4

1 に答える 1

1

簡単にするには、次のようにします。

With formview1
    Dim txtbox1Value as string = directcast(.findcontrol("textbox1"),textbox).Text
    Dim dropdownlist1Value as string = directcast(.FindControl("dropdownlist1"), DropDownList).SelectedValue
    if txtbox1Value > "0" Then
       if dropdownlist1Value <= "0" Then
           ' Error
       End If
       If dropdownlist1Value >= "100" Then
           ' Another error
       End If
    End If
    ' etc.
End With

アイデア: テストに必要なすべての値を前もって便利な形式で取得してから、ロジックを実装します。これにより、実行しなければならない検索とキャストに気を取られることがなくなるため、ロジックが単純になります。

実際には、CustomValidator の ServerValidate イベントですべてをラップできます。

于 2012-10-25T21:01:02.897 に答える