Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在加载ASP页面时自动运行方法?_C#_Javascript_Asp.net_Webpage - Fatal编程技术网

C# 如何在加载ASP页面时自动运行方法?

C# 如何在加载ASP页面时自动运行方法?,c#,javascript,asp.net,webpage,C#,Javascript,Asp.net,Webpage,我有一个页面,在加载时显示以下内容: <div> <img src="loading.gif" alt="Loading" /> Generating PDF Document, please wait. <div> 最后,我想在GeneratePdf()方法完成后将用户重定向到File.pdf路径 如何执行此操作?如前所述,您需要使用页面加载事件。此外,这是对页面生命周期的一个很好的解释。你应该看看。下面是上面链接中的一些示例代码: <scrip

我有一个页面,在加载时显示以下内容:

<div>
  <img src="loading.gif" alt="Loading" /> Generating PDF Document, please wait.
<div>
最后,我想在
GeneratePdf()
方法完成后将用户重定向到
File.pdf
路径


如何执行此操作?

如前所述,您需要使用
页面加载事件。此外,这是对页面生命周期的一个很好的解释。你应该看看。下面是上面链接中的一些示例代码:

<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>
//此脚本在服务器上运行,并为页面提供一些输出。
子页面加载
lbl1.Text=“日期和时间是”&now()
端接头
//这将生成文本框,该文本框将从上述脚本中获得一个值。

希望这对你有帮助

我建议将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。

您可以使用asp:Timer控件指示何时应该调用代码隐藏

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

谢谢,你能给我解释一下在你的例子中,页面上的内容和代码背后的内容吗?@Boris这不是我的代码,正如我所说,这是他们的代码。但是后面的代码是
now()
函数,它将返回值赋给
labl1.Text
,该值包含在页面代码中,您可以在下面说。请参阅我的编辑。另外,请看一下链接,主要是第二个,它更像传统的服务器端方式。谢谢,我自己也实现了类似的功能。然而,使用这种方法,我从未看到问题中提到的
div
的内容。页面是纯白色的,等待
GeneratePdf()
完成,然后重定向到PDF文件。我试图实现的是,在用户等待方法完成并重定向时,将gif循环和消息显示给用户。我希望这对您有意义。@Boris您可以使用
asp:Timer
控件。请注意,您的页面上还需要一个
asp:ScriptManager
。祝你好运
<asp:Timer runat="server" ID="timer1" Interval="3000" OnTick="timer1_Tick"></asp:Timer>
protected void timer1_Tick(object sender, EventArgs e)
{
    GeneratePdf();
    Response.Redirect("~/somepath/generatedPDF.pdf");
}