2010-12-02 12 views
1

..DropDownListの問題

ASPコード:BEHIND

<table> 
    <tr> 
     <th> Annee:</th> 
     <td> 
      <asp:DropDownList ID="ddlAnnee" runat="server" /> 
     </td> 
    </tr> 
    <tr> 
     <th colspan="2"> 
     <asp:Button ID="btnValidate" runat="server" onclick="btnValidate_Click" 
            Text="Validate" /> 
     </th> 
    </tr> 
</table> 

コードページの読み込みとバインディング部分にブレークポイントを置いてください。これは正常です、ddlは正しく埋められ、ページには正しくddlが表示されます。私がボタンをクリックすると、私はbtnValidate_Clickメソッドに到着しますが、ddlはempyです!

私は何かを忘れてしまったと思います。私を助けてください!

おかげ..

答えて

1

IsPostBackを削除しないでください.BindControlメソッドが存在する必要があります。IsPostBack条件を指定しないと、選択された値を取得できません。 ddlAnneeドロップダウンをクリアしないメソッドがあることを確認してください。

+0

実際には、私が削除した場合、常にddlの最初の値があります。 IspostBack状態。しかし、どのように私は清算について確かめることができますか? –

+0

フレームワーク3.5以上で、与えられたコードがうまく動作しています。あなたはどのフレームワークを使用していますか? – sam

+0

実際にはviewstateは無効化されました。 –

0

IsPostBackチェックを外します - あなたはそれが空でないと、選択した値がもう存在しないように、コードは、ドロップダウンを補充されていないボタンをクリックしたとき。

+0

はい、ありがとうございますが、値は常に最初のものです.ddlを変更すると、常にddlの最初のエントリを取ることになります。 –

0

新しいページの読み込みとポストバックの両方でグリッドをバインドする必要があります。

0

私はボタンをクリックすると、ページの読み込みが実行され、クリック時または実行後にddlからすべてのデータをキャリアすると思うので、クリックイベントが実行され、ISPOSTBACK要件の下にbindcontrol() ddlはページが読み込まれるときに最初にバインドされるので、要件に応じてコードを変更してください。