0

SmtpClientASP.NET でのメソッドを使用しSendて、お問い合わせページから電子メールを送信しています。メッセージの送信中に読み込み中の画像を表示したい。より具体的には、ユーザーが送信ボタンを押してメールを送信すると、読み込み中の画像が表示され、メッセージが送信されると、読み込み中の画像が消えます。onclickメソッドを使用して読み込み中の画像を表示できることはわかっています。しかし、メッセージが送信されたら、どうすればこの画像を削除できますか?

4

4 に答える 4

3

ボタンを更新パネルにカプセル化します。

updateprogress テンプレートを使用して、読み込みサインを表示できます。

<asp:updatepanel id="MailUpdatePanel" runat="server">    
<contenttemplate>


<asp:updateprogress id="UpdateProgress1" runat="server" associatedupdatepanelid="MailUpdatePanel" dynamiclayout="true">
      <progresstemplate>
            <img src="images/loading.gif">
        </progresstemplate>
 </asp:updateprogress>
<asp:Button ID="SendMail" runat="server" OnClick="SendMail_Click" Text="Mail" />
</contenttemplate>
</asp:updatepanel>

パネルを更新するのが初めての場合は、パネルを更新するためのこの紹介をご覧ください。

于 2012-08-14T18:39:11.823 に答える
1

jQueryを使用している場合

$("#btonId").click(function(e){
 e.preventDefault();

 $("#loadingDiv").html("Sending...").fadeIn(300,function(){
   $.post("yourserverpage.aspx", { data : somedata },function(response){
       if(response=="sent")
       {
         $("#loadingDiv").html("Email Sent")
       }
       else
       {
           $("#loadingDiv").html("error in sending!");
       }       
   });

 });
});

btnIdは送信するボタンのID であり、読み込み中のメッセージを表示する div の ID であると仮定するとloadingDiv、メールの送信後、成功した場合は「送信済み」という文字列が返されます。

于 2012-08-14T18:39:00.517 に答える
1

ajax を介して送信メソッド/アクションを呼び出し、successコールバックで読み込み div を非表示にします。

また、エラー ハンドラーを ajax 呼び出しに追加して、メッセージを送信できない場合に、読み込み中のテキストがそこにとどまらないようにすることもできます。

于 2012-08-14T18:32:49.723 に答える
0

これを行う最善の方法は、ajax を使用している場合、ユーザーがボタンをクリックしたときに読み込み中の画像を呼び出し、トランザクションが完了したときに破棄することです。
jquery ajax を使用した例を次に示します。

HTML :

<input type='submit' ... onlick='$("#loading").fadeIn();'>

JS :

 $.post($('FORM').attr('action'),
        {{args you wanna pass}},
        function (data) {
            process_callback_data(data);
            $("#loading").fadeOut();
        });
于 2012-08-14T18:41:44.137 に答える