0

ユーザーがメイン ページから見出しを追加および削除する必要がある Web サイトがあります。見出しは、見出しが表示されるかどうかを決定する「表示」(true または false) というタイトルの列を持つデータベースに保存されます。ユーザーがメイン ページの見出しを追加または削除できるようにしたいので、すべての見出しのテーブルを作成する別のページを作成し、「有効にする」と「無効にする」を含むドロップダウン リストを作成しました。ユーザーがドロップダウンリストの値を変更すると、データベースが更新されるまでに、これらのドロップダウンリストが機能するようにします。ドロップダウンリストに変更イベントを与える方法が見つからないのは私だけです。

何か案は?私はこれを正しい方法で行っていますか、それともこれを行うためのより良い方法はありますか?

4

4 に答える 4

1

まず、実際のリクエストを行うには、ドロップダウンを自動ポストバックに設定し、ハンドラーを追加して値を取得し、データを更新します (ただし、少なくともドロップダウンはリピーターまたはデータグリッドにあります)。

    Private Sub SetupDropdowns()
        Dim pDropDown As New DropDownList
        pDropDown.Items.Add("Yes")
        pDropDown.Items.Add("No")
        pDropDown.AutoPostBack = True
        AddHandler pDropDown.SelectedIndexChanged, AddressOf pDropDown_SelectedIndexChanged
    End Sub

    Private Sub pDropDown_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim value As String = CType(sender, DropDownList).SelectedValue
'Do something with value
    End Sub

SQL に直接アクセスしている場合の簡単な方法は、データグリッドを使用して SQL クエリにデータバインドすることです。

于 2009-04-21T14:00:50.420 に答える
0

ドロップダウンを作成するコードに、次を追加します。

''// You already have this code...

Dim oDropDown as New DropDown

''// Whatever other declarations you need...

AddHandler oDropDown.SelectedIndexChanged, _ 
AddressOf oDropDown_SelectedIndexChanged

通常、ツールボックスからプロジェクトにドロップダウンを追加し、コードビューの下のドロップダウンメニューを使用してSelectedIndexChangedイベントを選択できます。この場合、これを手動で行う必要があるため、サブルーチンを作成します。

Public Sub oDropDown_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ''// Do whatever you need to do here

    ''// I sometimes do this to make code manipulation easier:
    Dim _sender as DropDown = CType(sender, DropDown)

End Sub

お役に立てば幸いです。

于 2009-04-21T14:19:16.523 に答える
0

初め; 個人的には、true/false 値のユーザー インターフェイスを提供するチェック ボックスを使用します。これは、ASP.NET コントロール (<asp:CheckBox ... />) またはプレーン HTML コントロール (<input type="checkbox" .../>) を使用する 2 つの方法で処理できます。

ASP.NET コントロールを使用する場合は、(デザイン ビューで) コントロールをダブルクリックするだけで、CheckedChanged イベントのイベント ハンドラーを作成できます。HTML 入力要素を使用する場合、JavaScript を使用してクライアント側で onclick イベントを処理し、サーバーがデータベースを更新できるように JavaScript で AJAX 呼び出しなどを行う必要があります。ASP.NET のアプローチの方が簡単だと思います。

于 2009-04-21T13:57:13.723 に答える
0

最も簡単な方法は、単純に DataGrid を使用することです。その後、イベントを簡単に処理できます。

別の方法として、「表示」または「非表示」オプションを実行しているだけなので、ボタンを使用するだけで、UI が向上する可能性があります。(これは、一部のブラウザーでスクロール ホイール マウスを使用してドロップダウン リスト項目を誤ってスクロールしたためです)

于 2009-04-21T13:58:48.413 に答える