2009-07-21 1 views
0

更新パネル内に2つのWebユーザーコントロールがネストされています。ユーザーコントロール内のイベントは、パネルをトリガーするようには見えません。テストのために、メソッドをスリープ状態にするメソッドを3秒間設定し、ページに更新プログレスパネルを追加しました。更新プログレスパネルは決して表示されず、ページは通常通りリフレッシュされます。パネルとユーザーコントロールの更新

ユーザーコントロールは正しく機能し、実行する必要がありますが、私はそれらをajaxyかつprettyにしたいと考えています。

ポストバックが正しく動作するように、usercontrolを更新に追加する特別な方法はありますか?

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="100"> 
      <ProgressTemplate> 
       UPDATING...</ProgressTemplate> 
     </asp:UpdateProgress> 

     <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
      <ContentTemplate> 
       <div id="order"> 
        <keg:BeerList runat="server" ID="uxBeerList" /> 
        <kegcart:ShoppingCart runat="server" ID="uxCustomerCart" /> 
        <br class="clearfloat" /> 
       </div> 
      </ContentTemplate> 
     </asp:UpdatePanel> 

    Protected Sub uxBeerList_AddItem(ByVal item As KegData.IOrderableItem) Handles uxBeerList.AddItem 
      uxCustomerCart.AddItemToOrder(item) 
      System.Threading.Thread.Sleep(5000) 
     End Sub 
+4

例コード –

+0

を投稿する必要があります。Asychを持っているかどうかにも注意してください。同じサイトの他の領域で働いているポストバック(好ましくは同じweb.configを使用しています) –

+0

他の場所でポストバックはありませんが、私はusercontrolsなしで同じページを作成でき、正しく動作します。 –

答えて

0

具体的な設定は必要ありません。しかし、コードサンプルがなければ、私たちが診断するのは難しいでしょう。

ChildrenAsTriggersがfalseに設定されていないことを確認してください。

+0

サンプルコードが追加されました。私はChildrenAsTriggersを設定していないので、Trueにデフォルト設定する必要があります。 –

0

私はあなたがUpdatePanelのとContentTemplateタグの内側に

のUpdateProgress & ProgressTemplateタグを配置する必要があると思います。このコードは、提供されたコードからは分かりづらい問題がない限り動作します。

関連する問題