2012-05-11 4 views
0

I持って、次のASPパネルASPの更新パネルが動作しない

<asp:UpdatePanel ID = "UpdatePanel1" runat = "server"> 
     <ContentTemplate> 
      <asp:TextBox ID="txtNumber" runat="server" ToolTip="The Assignment's Number" ValidationGroup="updateAssignment" AutoPostBack="True" ontextchanged="txtNumber_TextChanged"></asp:TextBox> 

     </ContentTemplate> 
</asp:UpdatePanel> 

スクリプトマネージャも存在するが、ページはまだポストバックをやっています。事は起こらない他のページにあります。私は、コントロールをテキストボックスとして更新パネルにトリガを追加しようとしましたが、それでもポストバックを行います。私を助けてください。

+1

私はあなたがクライアント側の 'TextChanged'イベントだけを割り当てていると思います。サーバ側ではありません。 – scottm

+0

あなたもあなたのスクリプトマネージャーを投稿できますか?また、どのバージョンのASP.NETを実行していますか? –

+1

@scottm:私は、クライアント側のイベントは 'onchange'と考えています。 –

答えて

0

まず、サーバー側コードはクライアント側コードではありません。 textchangedイベントは、js onchangeイベントとは大きく異なります。フォーカスを失うと、このコードが起動します。あなたは、テキストボックスにAutoPostBackをTrueに設定する必要がありますが、トリガとして、それを含める:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:TextBox ID="TextBox1" AutoPostBack="true" runat="server" ontextchanged="TextBox1_TextChanged"></asp:TextBox> 
     </ContentTemplate> 
     <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="TextBox1" /> 
     </Triggers> 
     </asp:UpdatePanel> 

あなたはそれがポストバックが発生しますUpdatePanelの外だけAutopostback=trueにテキストボックスを設定すると、動作しません気づいたよう。しかし、それを更新パネルで囲み、AsyncPostBackTriggerを指定して、問題のテキストボックスにControlIDを割り当てると、それはうまくいくでしょう。私はちょうどこれをクロムとIEでテストしています。

関連する問題