0

ロード時に次のコンテンツを表示するページがあります。

<div>
  <img src="loading.gif" alt="Loading" /> Generating PDF Document, please wait.
<div>

同時に、コード ビハインドでこのメソッドを自動的に実行したいと考えています。

private void GeneratePdf()
{
    ...
}

最後に、メソッドが完了しFile.pdfたら、ユーザーをパスにリダイレクトしたいと考えています。GeneratePdf()

どうすればいいですか?

4

3 に答える 3

1

here でPage_Load説明されているように、イベントを使用する必要があります。さらに、これはページのライフサイクルの優れた説明です。あなたはそれを見てみるべきです。上記のリンクからのサンプルコードを次に示します。

<script runat="server">//This script runs on the server and dishes up some output for the page.
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>//This generates the textbox that will be given a value from the above script.
</form>
</body>
</html>

これがお役に立てば幸いです!

于 2013-01-13T23:06:26.640 に答える
0

asp:Timer コントロールを使用して、コード ビハインドをいつ呼び出す必要があるかを示すことができます

<asp:Timer runat="server" ID="timer1" Interval="3000" OnTick="timer1_Tick"></asp:Timer>

次に、Timer の Tick イベントを実装します。これは、マークアップで指定されているように、3 秒 (3000 ミリ秒) 後に呼び出されます。

protected void timer1_Tick(object sender, EventArgs e)
{
    GeneratePdf();
    Response.Redirect("~/somepath/generatedPDF.pdf");
}
于 2013-01-13T23:15:26.733 に答える
0

GeneratePDF を ajax で使用することをお勧めします。

$.ajax({
url: '/pdf/fiele_to_generate_pdf.aspx',
type: 'POST',
contentType: "application/json; charset=utf-8",
data: $.toJSON(jsonObj),
processData: false,
dataType: 'html',    
async: false,
success: function(html) {
    window.location.href = '/pdf/example.pdf';      
}});

読み込みには jquery を使用できます。Ajax 呼び出しの前に使用できる BlockUI という名前の優れたプラグインがあります。

于 2013-01-13T23:09:10.260 に答える