gpt4 book ai didi

javascript - ASP.net javascript调用代码隐藏方法

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:25 26 4
gpt4 key购买 nike

我正在创建一个 asp.net web 应用程序,我想知道如何在 javascript 中调用代码隐藏方法。以下 Java 脚本显示将多个具有相同名称的文本框的值获取到数组中。

使用代码隐藏方法,我尝试传递数组的值,但没有成功。当我使用警告框时,它显示文本框值。

function JavaScriptFunction() {
var arr = $("input[name='multiple[]']");
$.each(arr, function (i, item) {
alert($(item).val());
});
}

当我在警告框方法之前调用代码隐藏方法时,它不会显示任何消息框。 (方法背后的测试代码)

function JavaScriptFunction() {
var arr = $("input[name='multiple[]']");
$.each(arr, function (i, item) {
PageMethods.setemail("Paul Hayman");
alert($(item).val());
});
}

这是我的测试代码隐藏方法。我仅用于测试的 TextBox1。

  [WebMethod]
public void setemail(string p)
{
TextBox1.Text = p;
}

最后我导入了 webService 引用。

  using System.Web.Services;

这是我用 webforms 做的按钮

 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="JavaScriptFunction()" OnClick="Button1_Click"  />

最佳答案

WebMethod 不能直接与 DOM 交互。 WebMethods 超出了普通页面模型的范围。

其实WebMethod就是no longer supported由 MS,你不应该使用它。相反,如果您使用的是 .NET 4.5,则可以创建 Web API并使用 AJAX 调用它(jQuery 对此有很好的辅助函数,我看到你标记了它)。 Web API 将返回字符串,然后您可以使用 JavaScript 设置文本框的文本。

网络应用程序接口(interface)

public class TestController : ApiController
{
public string GetHello(string name)
{
return String.Format("Hello, {0}!", name);
}
}

然后是 jQuery AJAX 代码:

$.ajax({
url: '/api/test/GetHello?name=Nade',
type: 'GET'
})
.success(function(output){
$('#TextBox1').val(output);
});

如果您使用的不是 .NET 4.5,请升级!如果无法升级,那么您可以设置一个通用处理程序 (.ashx) 并写入响应。

关于javascript - ASP.net javascript调用代码隐藏方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563755/

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