簡體   English   中英

如何使用JS參數傳遞ASP.NET服務器端標記

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

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