我必須在asp.net頁面中觸發一個方法。條件是當頁面加載到客戶端瀏覽器並且客戶端可以看到它時,此方法必須觸發。我可以在服務器端做什麼以及我可以在客戶端做什麼?在瀏覽器中加載asp.net頁面時觸發哪個事件
3
A
回答
2
您可以使用JQuery來確定頁面是否非常容易地加載客戶端;
$(document).ready(function()
{
//page is fully loaded and ready, do stuff here
}
服務器端:您可以利用,JSON和Javascript(AJAX)
理念客戶端一個WebMethod的組合:
//////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
4
服務器不知道瀏覽器何時顯示頁面。
但是,您可以包含指向服務器端腳本的映像。
在客戶端上,您可以使用load
事件。
4
聽起來你自動運行服務器端代碼的最快速和最簡單的方法是將你的頁面的一部分包裝到UpdatePanel中,並設置一個Timer控件來觸發UpdatePanel來回發和運行你的代碼。
爲using the Timer control to trigger an UpdatePanel
一個例子見this link上述解決方案將加載頁面,然後你的客戶看到頁面顯示動態更新。現在,如果您真的需要您的客戶端到,請參閱發生了什麼,然後一旦加載頁面,您將需要在客戶端上運行代碼,以便在運行代碼的服務器上調用Web服務。
4
您也可以將您的方法作爲webmethod裝飾,並在頁面加載完成後通過javascript調用它。
相關問題
- 1. 在ASP.NET中,當客戶端瀏覽器中加載頁面時,哪個事件觸發?
- 2. 觸發頁面加載事件
- 3. propertychange事件觸發頁面加載
- 4. Javascript事件觸發頁面加載
- 5. 哪個事件觸發時一個div被阿賈克斯加載到頁面
- 6. 在加載或加載每個內容頁面後觸發哪個主頁面事件?
- 7. 在瀏覽器中加載頁面時運行java腳本事件
- 8. 在後臺加載瀏覽器頁面
- 9. ASP.NET頁面事件處理如何在瀏覽器中工作?
- 10. 防止ASP.NET頁面刷新(F5)時觸發上一個事件觸發器
- 11. 爲什麼asyncRefresh事件在頁面加載時觸發
- 12. 敲除 - 事件似乎在頁面加載時觸發?
- 13. 爲什麼在頁面加載時觸發jQuery點擊事件?
- 14. 在初始index.html頁面加載時觸發RouteChangeStart事件
- 15. eonasdan datetimepicker,在頁面加載時觸發的更改事件
- 16. Javascript「addEventListener」事件在頁面加載時觸發
- 17. 跨瀏覽器綁定頁面加載事件
- 18. 加載頁面時何時觸發滾動事件?
- 19. Web瀏覽器未觸發DocumentCompleted事件
- 20. 頁面加載事件發生在asp.net頁面兩次
- 21. 全屏幕瀏覽器頁面加載在asp.net
- 22. 在瀏覽器中使用瀏覽器時,ASP.NET未加載ASP.NET網站
- 23. 在頁面加載時,mypic.jpg是否會被瀏覽器下載?
- 24. 在瀏覽器中記錄本地頁面加載時間
- 25. 在頁面加載中觸發GridView1_SelectedIndexChanged事件if session is == to column
- 26. jQuery - .toggle()在頁面加載時觸發
- 27. jQuery change()在頁面加載時觸發
- 28. Ajax在頁面加載時觸發
- 29. Jquery.change在頁面加載時觸發
- 30. 瀏覽器不加載Php頁面
雖然這是一種更「手動」的做事方式,但它比使用UpdatePanels更有效 - 如果您打算執行任何嚴肅的ASP.NET編碼(或一般的Web開發),它絕對值得瀏覽網頁服務。請參閱[如何:使用WebMethod屬性](http://msdn.microsoft.com/zh-cn/library/byxd99hx.aspx),[託管代碼中的Web服務的代碼模型](http://msdn.microsoft.com/zh-cn/ .com/en-us/library/68zt3df9.aspx)和[如何從瀏覽器訪問XML Web服務](http://msdn.microsoft.com/zh-cn/library/45fez2a8.aspx) – 2011-02-16 01:21:46