C# 在浏览器中加载asp.net页面时触发哪个事件

C# 在浏览器中加载asp.net页面时触发哪个事件,c#,asp.net,C#,Asp.net,我必须在我的asp.net页面中启动一个方法。条件是,当页面加载到客户端浏览器中并且客户端可以看到它时,必须触发此方法。服务器端可以做什么,客户端可以做什么?服务器不知道浏览器何时显示页面。 但是,可以包含指向服务器端脚本的图像 在客户端上,您可以使用load事件。自动运行服务器端代码的最快、最简单的方法是将页面的一部分包装在UpdatePanel中,并设置计时器控件以触发UpdatePanel回发并运行代码 请参阅,以获取以下示例: 上面的解决方案将加载该页面,然后您的客户端将看到该页面显示为

我必须在我的asp.net页面中启动一个方法。条件是,当页面加载到客户端浏览器中并且客户端可以看到它时,必须触发此方法。服务器端可以做什么,客户端可以做什么?

服务器不知道浏览器何时显示页面。
但是,可以包含指向服务器端脚本的图像


在客户端上,您可以使用
load
事件。

自动运行服务器端代码的最快、最简单的方法是将页面的一部分包装在UpdatePanel中,并设置计时器控件以触发UpdatePanel回发并运行代码

请参阅,以获取以下示例:


上面的解决方案将加载该页面,然后您的客户端将看到该页面显示为动态更新。现在,如果你真的需要你的客户看到发生了什么,那么一旦页面加载,您需要在客户端运行代码,该客户端调用将运行代码的服务器上的Web服务。

您还可以将您的方法修饰为webmethod,并在页面加载完成后通过javascript调用它。

您可以使用JQuery确定页面是否非常容易在客户端加载

$(document).ready(function() 
{
    //page is fully loaded and ready, do stuff here
}
服务器端:您可以利用WebMethod、JSON和Javascript(AJAX)的组合

概念客户端:

//////INLINE YOUR ASPX PAGE
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ConsumeWebService()
{
     SampleService.TehMethod();
}

$(document).ready(function() 
{
    //page is fully loaded and ready, do stuff here
}
</script>
//////////////////
///INLINE您的ASPX页面
函数ConsumerWebService()
{
SampleService.TechMethod();
}
$(文档).ready(函数()
{
//页面已完全加载并准备就绪,请在此处执行操作
}
//////////////////
概念服务器端:

<%@ WebService Language="C#" Class="SampleService" %>

using System;
using System.Web;
using System.Web.Services;
using System.Xml;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class SampleService: System.Web.Services.WebService
{
    [WebMethod]
    public void TehMethod()
    {
        //do stuff server-side here
    }

}

使用制度;
使用System.Web;
使用System.Web.Services;
使用System.Xml;
使用System.Web.Services.Protocols;
使用System.Web.Script.Services;
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[脚本服务]
公共类SampleService:System.Web.Services.WebService
{
[网络方法]
公共无效技术方法()
{
//在这里做服务器端的东西
}
}

这里有一篇关于这个过程的更深入的文章

虽然这是一种更“手动”的方式,但它比使用UpdatePanels要高效得多-如果您计划进行任何严肃的ASP.NET编码(或一般的web开发)这绝对值得研究web服务。请看,@Tulio:如果他在做web服务,他应该使用WCF,而不是旧的ASMX服务。