ASP.NET VB.NETでドロップダウンリストの項目が重複しないようにする方法
P粉299174094
P粉299174094 2023-09-07 09:26:11
0
1
536

Public Sub Table()      
    Dim Connection As MySqlConnection

    Dim DataAdapter As MySqlDataAdapter
    Dim Command As MySqlCommand
    Connection = New MySqlConnection("server=localhost; userid=root; database=setting;")
    Command = New MySqlCommand("Select * FROM table", 
    Connection)
    DataAdapter = New MySqlDataAdapter(Command)
    Dim DataTable As New DataSet
    DataAdapter.Fill(DataTable)
    Ddlname.DataSource = DataTable
    Ddlname.DataTextField = "Name"
    Ddlname.DataValueField = "Name"
    Ddlname.DataBind()
End Sub

P粉299174094
P粉299174094

全員に返信(1)
P粉883973481

マークアップは表示されていませんが、ボタンのクリック、自動ポストバックを備えたコントロール、またはページ上で発生するイベントによって、ページ読み込みイベントが再実行されることに注意してください。

したがって、理論上は、単純なボタンをクリックしただけでも、コンボ ボックスを読み込むコードが再実行される可能性があります。したがって、イベントごと、クリックごとに、コンボボックスが再度追加またはロードされる可能性があります。

したがって、ほぼすべてのページのデザイン パターンでは、グリッド、リスト ボックス、ドロップダウン ボックスなどを 1 回だけ読み込むことになります。

したがって、コードは次のようになります:

リーリー

したがって、ページ読み込みコードに非常に重要な If Not IsPostBack が含まれていることを確認して、コンボボックスを読み込むコードを実際に 1 回だけ読み込めるようにしてください。

これは「ポストバックである」テストですか? 99% のページはこの方法で機能します。私は、asp.net ページには「firstLoad」イベントが必要だとよく考えます。これは、ページが読み込まれるたびにイベントが発生するためです。これは、ページのポストバックをトリガーするすべてのボタンやコードに当てはまります。したがって、ページを読み込むたびにグリッド、リストボックス、またはドロップダウンを読み込むコードを実行するため、コンボボックスは何度も読み込まれ (そして大きくなり) ます。したがって、IsPostBack テストを採用し、使用し、「いいね!」してください。すべてのページに対してテストを実行し、99% 以上のページでこのテストが必要です。

実際には、上記の提案を適用しないと、機能する Web ページを構築することはほとんど不可能になります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート