[英]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.