2009-06-16 6 views
1

FireFoxとASP.NET UpdatePanelに問題があります。 フォームにチェックボックスとUpdatePanelがあります。チェックボックスをチェックすると、UpdatePanelにあるasp:パネルが表示されるはずです。FirefoxとUpdatepanel

<asp:CheckBox ID="cbMoreOptions" runat="server" Text="plus d'options" AutoPostBack="True" OnCheckedChanged="cbOptions_CheckedChanged" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <asp:Panel ID="Panel1" runat="server" Visible="false"> 
     sssssssss 
    </asp:Panel> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="cbMoreOptions" EventName="CheckedChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

チェックボックスをオンにしている間は、すべてが正常に機能していますが、ページを更新しても機能しません。これが起こっている場合、チェックボックスはチェックされ、ページはサーバにポストバックを行いません。火かき棒は、ページが応答を得ていることを示し、その内容を確認すると、ページの情報が壊れていることを示すエラー500が表示されます。このすべてはFirefoxでのみ起こっています。 IE8とGoogle Chromeではすべてが問題ありません。

これを避けるにはどうすればいいですか? Firefoxのバグですか? URLテキストボックスに入力するまで、すべての奇妙な味方は続きます。 F5を作っても何も起こらない。 F5とURLの違いは何ですか?彼らは同じ結果を持ってはいけませんか?

ありがとうございます。

答えて

0

「cbMoreOptions」チェックボックスをUpdatePanelの中​​に置いてみましたか?

UpdatePanel ContentTemplateセクションの内側に配置し、CheckBoxのAsyncPostBackTriggerを設定します。

0

私たちは以前、この問題を抱えていました。これはFirefoxがメモリ内のキャッシュを使用して、ASP.NETがVIEWSTATE隠しフィールドを処理する方法を混乱させるページの状態を保存する方法でした。 aspxページのキャッシュが有効になっているかどうかを確認し、無効にします。

編集:ここにはlinkの詳細が記載されています。

0

F5とURLの違いは何ですか?それらは は同じ結果を持ってはいけませんか?

アドレスバーでEnterキーを押すと、GETリクエストが行われます。つまり、ページのライフサイクルを!IsPostBackと入力します。F5を押すと、firefoxが最後のリクエストを繰り返すことがわかりました。その最後のリクエストがPOSTの場合は、それが繰り返されます。そのため、あなたのページはバグの状態に留まります。最初のポストバックでエラーが発生した場合(チェックボックス 'checkedChanged)、F5を押すとそのエラーが繰り返されます。

したがって、であり、同じ結果はありません。

この文をバ​​ックアップするためのドキュメントはありませんが、これは私が観察したものです。誰かがソースを指すことができるなら、私はそれを見てうれしく思います。