簡體   English   中英

ASP.net Javascript Postback

[英]ASP.net Javascript Postback

我正在學習javacript,而我正想要開始做一些非同步的事情。 這是我的追求的要點:

我有HTML代碼,如下所示:

<a id='nine' onclick="SendToServer('nine');">Nine</a>

然后,我想要一種方法,在Javascript中,發送回服務器,點擊#9。

function SendToServer(id)
{
   //Send that a#nine was clicked back to server
}

然后,我想在c#中使用某種處理函數來更新數據庫中的條目。

public void GetMessageFromJSHandler(int id)
{
     Item[x][y] = id;
}         

我不希望頁面重新加載,我不希望在頁面上進行任何更改,我想在直接的javascript中執行此操作,以便我可以了解它是如何工作的。

這是一個很好的資源: http//msdn.microsoft.com/en-us/library/ms178210.aspx我最終根據我的需要改變了這個例子。 所有Js都非常直截了當。

那么,在你的問題的背景下,你走在正確的軌道上。 您可以使用此示例: http//www.devx.com/DevX/Tip/17500查看如何填充SendToServer函數

GetMessageFromJSHandler可能會被IHttpHandler的實現者的ProcessRequest方法調用,至少在最簡單的場景中。

但這種做事方式實際上是出於學術目的,學習管道。 在生產環境中,使用框架會更好。 我個人的選擇是客戶端上的jquery和服務器上的ASP.NET MVC,但是如果你喜歡“常規”ASP.NET(也就是webforms),那么請查看MS Ajax庫以查看更簡單的方法。可擴展和可維護的時尚。

您可以使用WebMethod屬性標記頁面方法,以便在客戶端為它們創建存根。 這是一個例子 你可以做的另一件事是使你的頁面方法靜態,並使用jQuery的ajax()函數調用它。 以下是這種方式的工作原理

jQuery的:

function SendToServer(id)
{
  $.ajax({
                        url: "/GetMessageFromJSHandler",
                        type: "POST",
                        data: { 'id': id }
          }):

}

function SendToServer(id){var pageUrl =“SamplePage.aspx?callback = true&ItemId =”+ item if(window.XMLHttpRequest){var xmlRequest = new XMLHttpRequest(); } else {var xmlRequest = new ActiveXObject(“Microsoft.XMLHTTP”); } xmlRequest.open(“POST”,pageUrl,false); xmlRequest.setRequestHeader(“Content-Type”,“application / x-www-form-urlencoded”); xmlRequest.send(NULL); }

On pageLoad you just check the callback flag and call your function



 if(Request.QueryString["callback"].ToString() == "true")
   {
    string id = Request.QueryString["ItemId"].ToString()
    GetMessageFromJSHandler(int id);
   }

暫無
暫無

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

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