0

これは非常に単純な質問ですが、私はまだ Web 開発に慣れていません (ほとんどの場合、アプリを獲得しています)。

さまざまなことを行うボタンがあります。私が最初にやりたいことはこれです:

lblStatus.Text = "In progress, please wait...";

問題は、ボタンが押されたときに、ラベルのデフォルトのテキスト「準備完了」が「進行中、お待ちください...」に更新されないことです。

私の質問は、これをこのように行うべきですか、それとも AJAX のような別のものを使用するべきですか?

4

5 に答える 5

0

詳細: jQueryを使用して、ボタンが押されたときにラベルを表示し、ページが読み込まれたときにラベルを非表示にすることができます

例:

Jクエリ

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script  type="text/javascript">

        $(document).ready(function ()
        {
           // Hide the Label to start with
                $('#<%=lblStatus.ClientID %>').hide();

            $('#<%=btnSave.ClientID %>').click(function ()
            {
                // Show the Label when save button is clicked
                $('#<%=lblStatus.ClientID %>').show();
            });
        });

</script>


ASP.NET コントロール

<asp:Button ID="btnSave" runat="server" Text="Button" />
<asp:Label ID="lblStatus" CssClass="lblStatus" runat="server" Text="In progress, please wait..."></asp:Label>
于 2012-11-20T00:21:33.220 に答える
0

AJAX の使用を試すことができます (サンプルの URL を参照) http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/

于 2012-11-19T23:57:56.220 に答える
0

これには「 UpdateProgress 」を使用できます。以下のコードを aspx に追加するだけです。ボタンをクリックすると、処理が終了するまで「処理中です。しばらくお待ちください...」と表示されます。

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
                <ProgressTemplate>
                    <span style="text-decoration:blink; font-size:small; color:Gray;">
                    In progress, please wait...</span>
                    <%-- you can have image here instead of text--%>
                </ProgressTemplate>
            </asp:UpdateProgress>
于 2012-11-20T06:02:23.493 に答える
0

とにかく ASP.NET Ajax を使用している場合は、このために作成されたUpdateProgressコントロールを使用できます。

于 2012-11-19T22:53:17.853 に答える
0

ポストバック中に「進行中」の部分が発生しています。あなたが書いたコードでは、「進行中」は、応答が戻ってきたときにポストバックでのみ表示されます。

これは、JS を使用してダブルクリック (およびダブル投稿) を防止するのと同様の問題です。

参照: javascript/jquery クリック時に送信ボタンを無効にし、二重送信を防止する

于 2012-11-19T22:54:02.350 に答える