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");
}