0

updatepanel 内の Imagebutton をクリックすると、進行状況の画像を表示しようとしています。ボタンをクリックすると、C# コードが実行され、更新の進行状況の画像が表示されます。このコードでは、C# コードを実行しますが、進行状況の画像は表示されません。ポストバックトリガーを削除すると、進行状況の画像が表示されますが、C# は実行されません。どうすれば修正できますか?

<div id="scriptmanager">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">

        <ContentTemplate>
         <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/SurveyImages/clean.jpg" 
                                     onclick="cmd_clean_emergency_Click"  


                                style="-webkit-appearance:push-button; border-radius:5px; border: 4px solid #E9A732" Enabled="False" 
                                     />
        </ContentTemplate>
        <Triggers>
        <asp:PostBackTrigger ControlID="ImageButton1"/>
        </Triggers>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" DisplayAfter="0" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
        <ProgressTemplate>
            <img src="images/ProgressBar1.jpg" />

        </ProgressTemplate>
        </asp:UpdateProgress>
    </div>
4

2 に答える 2

2

AsyncPostBack トリガーが機能するのは私の間違いでした。GridView を updatepanel タグ内に配置するのを忘れたため、実際には c# コードが実行されていましたが、updatepanel タグ内にないため、gridview は更新されませんでした。

于 2013-10-01T06:09:42.273 に答える
0

AsyncPostBackTrigger が機能しない理由は、UI レベルの実行用に設計されているためです。 http://msdn.microsoft.com/en-us/library/system.web.ui.asyncpostbacktrigger.aspx

例では、フォーム入力フィールドの名前が SqlDataSource の select コマンドに直接入力されていることに注意してください。


更新パネルを介して進行状況バーを表示するのは悪夢です。UpdatePanel が更新される小さな iframe であると想像してみてください。実際にはそれほど不自然ではありませんが、機能と UI に関しては、そうかもしれません。

プログレスバーを処理する JavaScript メソッドを調査することをお勧めします。ただし、いくつかの解決策があります: http://www.dotnetcurry.com/ShowArticle.aspx?ID=227

于 2013-10-01T02:48:58.583 に答える