0

SelectedIndexChangedイベントリスナーを持つ DropDownList があります

<asp:DropDownList ID="LoanOptionCombo" runat="server" AutoProstBack="True">

リスナー

Protected Sub LoanOptionCombo_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles LoanOptionCombo.SelectedIndexChanged
    ' hello world, no code here yet
End Sub

私のPage_Loadイベント

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' parse a .txt file and populate the DropDownList
    InitializeLoanOptions()
End Sub

フォームが最初に読み込まれると、ローン オプションが DropDownList (現在は 4) に読み込まれます。

ユーザーが DropDownList の貸与オプションを選択するたびに、DrowDownList が何らかの形で再初期化され、同じ 4 つのオプションが再びリストに追加されます。

ユーザーが別のオプションを選択するたびに、同じ 4 つのオプションがリストに再度追加されます。

DropDownList 項目を実際に追加する唯一の場所であるため、Page_Load イベントが再度呼び出されていると想定しています。DrowDownList.Items と対話するコード内の他の場所はありません。

DropDownList で SelectedIndexChanged イベントをリッスンしながら、フォーム全体の再初期化を回避するにはどうすればよいですか?

4

3 に答える 3

1

ページ読み込みイベントで IsPostBack プロパティを使用できます。ページが読み込まれているときにのみ、データがドロップダウンにバインドされます。

論文のリンクを確認してください

http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx

http://www.aspnet101.com/2007/03/if-not-page-ispostback/

于 2012-06-11T04:20:42.047 に答える
1

Page_Load以下のように変更する必要があります

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' parse a .txt file and populate the DropDownList
 If Not IsPostBack
    InitializeLoanOptions()
  End If
End Sub
于 2012-06-11T04:24:01.727 に答える
0

page_load の IsPostBack プロパティを確認します。

If Not IsPostBack
  // Load your drop drop list here....
End If
于 2012-06-11T04:30:02.003 に答える