2011-10-21 22 views
0

ユーザーコントロールにScriptManagerUpdatePanelを追加しましたが、今ではページがポストバックされていません。これはページ上のScriptManagerの唯一のインスタンスです。私はVS 2010を使用しており、私のプロジェクトは4.0フレームワークでコンパイルされています。 EnablePartialRenderingは、ScriptManagerコントロールではtrueに設定されています。どこかでアセンブリの参照/登録が行方不明になることはありますか?AJAXはボタンクリックイベントのポストバックを完全に無効にしました

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="Server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:ImageButton ID="SignUp" runat="server" AlternateText="SignUp" 
      class="tips_button" ImageUrl="/~/myimage.ashx" 
      onclick="SignUp_Click" ToolTip="Find" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="SignUp" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

答えて

0

Always代わりのConditionalUpdateModeを変更してみてください。また、この単純なことに対して、トリガーを指定する必要はありません。トリガが指定されていない場合、コントロールはすべてが非同期であるとみなします。

また、必要なフィールドバリデーターがポストバックを妨げていないことを確認します。これをテストするには、ImageButtonCausesValdiationプロパティをfalseに設定します。

+0

ありがとうございます - 私は先に進み、両方の提案を試みましたが、私はクリックイベントでポストバックをまだ取得していません。 – sean

+0

ページには、それを妨害しているバリデータがありますか?これをテストするには、 'CausesValidation'をfalseに設定します。 –

+0

フィールドとregExバリデータがページに必要ですが、どこにでも "CausesValidation"プロパティは表示されません。それはどこにありますか? – sean

1

UpdatePanelContentTemplate内のコントロールには、Triggerの設定は必要ありません。デフォルトでは、すべてのコントロールがajaxを使用してポストバックし、ContentTemplate内の新しいコンテンツがレンダリングされます。

既に存在するコントロールのためにTriggerセットアップがあるため、問題を引き起こしている可能性がありますので、不要なので削除してください。 UpdatePanelがその外のコントロールによって 'トリガーされる'ようにするには、ContentTemplateを使用すると、Triggerを使用します。

他のすべては大丈夫です。あなたのコードビハインドにSignUp_Clickセットアップがあることを確認し、Page_Loadのコードにブレークポイントを設定してテストしてください。いつでもポストバックが発生します。

問題:ImageButtonのコードImageUrl="/~/myimage.ashx"がちょっと変わって見えますが...最初の余分なスラッシュが問題を引き起こす可能性があります。

関連する問題