JS调用C# PageMethods实操:传递参数与返回值

4星 · 超过85%的资源 需积分: 15 31 下载量 177 浏览量 更新于2024-09-17 收藏 1KB TXT 举报
在.NET中,JavaScript (JS) 与C#(C#)之间的交互通常通过ASP.NET的Web服务(WebMethods)功能来实现。本文档详细介绍了如何在JavaScript中调用C#页面方法,并传递参数以及处理返回值。 首先,我们需要了解几个关键概念: 1. PageMethods: ASP.NET提供了一种在客户端JavaScript与服务器端C#代码之间进行安全通信的方式,那就是PageMethods。它允许JavaScript函数调用预定义的C#方法,而无需创建完整的HTTP请求。这些方法通常被标记为`[System.Web.Services.WebMethod]`,表明它们是可被外部JavaScript访问的。 2. JavaScript函数: 在客户端,JavaScript函数如`function minbzdm()`和`function xxx(result)`被用来触发调用。`minbzdm()`函数负责触发调用,当用户点击“ɾ”按钮时执行,通过`PageMethods.OK(xxx)`调用服务器端的`OK`方法。 3. Server-side method (`OK()`): 在`.NET`的`Default.aspx.cs`文件中,有一个名为`OK`的静态方法,它是`WebMethod`类型,返回一个字符串。当JavaScript调用它时,这个方法会在服务器端执行,并返回结果。 4. 参数传递: 文档中未明确提及传递的具体参数,但通常情况下,参数可以作为字符串、整数或其他数据类型直接传递给`PageMethods.OK()`,并在服务器端方法中接收并处理。 5. 返回值处理: 在JavaScript端,`function xxx(result)`用于处理从服务器返回的数据。当`OK`方法执行完毕,返回的字符串结果会被传递给这个函数,并通过`alert(result)`显示在浏览器的警告框中。 6. 启用PageMethods: `<asp:ScriptManager>`控件的`EnablePageMethods="true"`属性确保了客户端JavaScript能够访问页面上的PageMethods。 要实现JavaScript调用C#带参数的方法,你需要在客户端编写调用函数,设置`ScriptManager`以启用PageMethods,然后在服务器端定义相应的WebMethod,确保数据传递和返回值处理。这提供了一种在Web应用中便捷地实现客户端和服务器交互的方式,尤其是在数据验证、异步操作等场景中非常有用。