2011-07-08 8 views
1

<asp:DropDownList>私は静的リスト項目で塗りつぶしています。OnDataBoundがaspのために起動されていません:静的aspを持つDropDownList:ListItems

<asp:DropDownList ... OnDataBound="handlerMethod"> 
    <asp:ListItem Value="..." Text="..." /> 
    <asp:ListItem Value="..." Text="..." /> 
    <asp:ListItem Value="..." Text="..." /> 
</asp:DropDownList> 

問題は、リストが埋め込まれたときにOnDataBoundイベントがトリガされないことです。ドロップダウンにあるリストアイテムから他のデータを入力するためにトリガする必要があります。

ドキュメントは言う:

このメソッドは、コントロールに関連付けられたロジックを結合する任意のデータが完了したサーバーコントロールを通知します。私の目は私、私はイベントが

をトリガーされるしかし、そのような場合には、どのように私はイベントがトリガまたはものを手に入れることができるときにポイントを逃したことになり、この「ロジック」という言葉にある

他のイベントは、リストが満たされたときを知るために使用できますか?

+0

静的とは言いましたか? '.aspx'ファイルに入力しますか?そうであれば、トリガされません。 '.Bind'メソッドを使うとトリガされると思います。 – dpp

+0

@domanokz:はい、私はそれらを.aspxに入力します。 – brb

答えて

2

通常、これはAutoEventWireup="true"を削除したこと、またはfalseに設定したことを意味します。そのため、イベントが配線されません。

また、は、コードを実行することを許可しないjavascriptに問題があることを意味する場合もあります。インスペクタを開き(FirefoxではChrome、Safari、Firebug、IE Developerツールには依存しないでください)、ページが停止する原因となるjavascriptエラーがないかどうかを確認します。

またhandlerMethodが正しく最良の方法は、HTML部分OnDataBound="handlerMethod"と、この方法の背後にあるコードを削除し、その後design viewに行き、イベントに[プロパティ]ウィンドウを開き、ダブルすることで、設定されていないことをを意味することができますOnDataBoundをクリックすると、イベントが正しく追加されます。そこにブレークポイントを設定し、ファイルにdebug="true"というデバッグで実行します。

+0

handlerMethodが正しく設定されています。私はそれを確認した。私はあなたの最初の点を本当に理解していません。 JavaScriptはこれと何が関係していますか? – brb

+0

あなたは投稿をすることは決してありません! – balexandre