gpt4 book ai didi

c# - 需要从 Javascript 调用代码隐藏方法而不在 asp.net 中使用 ajax

转载 作者:太空狗 更新时间:2023-10-30 01:19:06 25 4
gpt4 key购买 nike

我需要从 javascript 调用文件隐藏代码中的服务器端方法。是的,我知道 ajax 是实现这一目标的最佳方式。但我无法使用 ajax bcoz 我导出 excel 文件并以服务器端方法下载。在 ajax 请求中,我们无法下载/上传文件。因此,请建议任何其他方式从客户端调用代码中的服务器端方法。我也可以使用网络服务来实现这一点。但我需要代码隐藏文件中的功能。我需要像 MVC 表单这样的功能,在 mvc 表单中我们能够提供控件和操作名称并使表单提交。

最佳答案

在页面上添加以下 HTML:

<asp:ScriptManager ID='ScriptManager1' runat='server' EnablePageMethods='true' />
<asp:Button ID=”btnSave” runat=”server” Text=”Save” OnClientClick=”return CodeBehindMethodCall();” />

现在调整我们的代码隐藏以便我们可以从 JavaScript 调用它,我们需要使用 System.Web.Services 所以将它添加到我们的代码隐藏文件中

using System.Web.Services;

无论我们需要从 JavaScript 调用什么方法,将 WebMethodattribute 添加到该方法,javaScript 就可以轻松调用它

[WebMethod]
public String ConvertDataTabletoString()
{
// your code
}

现在我们将从 JavaScript 调用 ConvertDataTabletoString,因此将以下 JavaScript 添加到页面:

function CodeBehindMethodCall()
{
pageName.ConvertDataTabletoString();
}

如您所见,我们没有使用 web 服务,但我们将方法更改为 web 方法,以便可以从 JavaScript 调用它,但如果不将方法转换为 web 方法,我们就无法从 JavaScript 调用任何代码隐藏方法。

它是这样完成的。

关于c# - 需要从 Javascript 调用代码隐藏方法而不在 asp.net 中使用 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24387803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com