[英]How to pass ASP.NET server side tags with JS parameters
我在JS中有一個循環,我想將該循環中的每個參數傳遞給背后代碼中的ASP.NET中的一個函數。
類似的東西:
for (var i = 0; i < elements.length; i++)
{
}
我想在<%%>元素[i]中傳遞一個函數。
我怎樣才能做到這一點?
謝謝!
這並不容易,唯一的方法是發帖並發送變量。
我通常要做的是讓處理程序為我完成這項工作,並使用jQuery獲得不錯的效果...
來自您的JavaScript代碼
var r = '';
for (var i = 0; i < elements.length; i++)
r += elements[i] + ',';
// send this asynchronously to the handler
$.get("myHandler.asmx", { values: r }, function(data) {
// it finished processing, let use the passed data
alert(data);
});
在你的處理程序中
public void ProcessRequest(HttpContext context)
{
string r = context.Request["values"];
// process them
context.Response.ContentType = "text/plain";
context.Response.Write("OK");
}
該“確定”將被傳遞到data
變量,您便可以將用戶與更加豐富的環境進行交互。
如果您的意思是想從客戶端調用服務器端方法,那么使用基於頁面的Web服務有一種更簡單的方法:
在后面的代碼中添加如下方法:
[WebMethod]
public static void MyMethod (string s)
{
}
必須在頁面的腳本管理器中使用EnablePageMethods = true,即
<asp:ScriptManager runat="server" ID="ScriptManager1" EnablePageMethods="true">
然后,可以在客戶代碼中使用:
PageMethods.MyMethod (s, MyMethodSuccess, MyMethodFail);
function MyMethodSuccess() { }
function MyMethodFail(error) {
alert(error.get_message());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.