簡體   English   中英

在瀏覽器中加載asp.net頁面時會觸發哪個事件

[英]Which event is fired when asp.net page is loaded in browser

我必須在我的asp.net頁面中觸發一個方法。 條件是當在客戶端的瀏覽器中加載頁面時,此方法必須觸發,客戶端可以看到它。 我可以在服務器端做什么,在客戶端可以做什么?

服務器不知道瀏覽器何時顯示該頁面。
但是,您可以包含指向服務器端腳本的圖像。

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

聽起來,實現自動運行服務器端代碼的最快捷最簡單的方法是將部分頁面包裝在UpdatePanel中,並設置Timer控件以觸發UpdatePanel回發並運行代碼。

有關使用Timer控件觸發UpdatePanel的示例,請參閱此鏈接

上面的解決方案將加載頁面,然后您的客戶端看到頁面似乎動態更新。 現在,如果您真的需要您的客戶端查看正在發生的事情,那么一旦頁面加載,您將需要在客戶端上運行代碼,該代碼調用將運行您的代碼的服務器上的Web服務。

您還可以將您的方法裝飾為web方法,並在頁面加載完成后通過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>
//////////////////

概念服務器端:

<%@ 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
    }

}

這是一篇關於該過程的更深入的文章http://msdn.microsoft.com/en-us/library/bb515101.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM