ホームページ  >  に質問  >  本文

ASP.NET VB.NETでドロップダウンリストの項目が重複しないようにする方法

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粉299174094P粉299174094409日前496

全員に返信(1)返信します

  • P粉883973481

    P粉8839734812023-09-08 00:04:54

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

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

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

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

    リーリー

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

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

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

    返事
    0
  • キャンセル返事