ASP.net javascript调用代码behing方法
ASP.net javascript call code behing method
我正在创建一个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;
这是我使用的按钮的网络表单
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="JavaScriptFunction()" OnClick="Button1_Click" />
WebMethod不能直接与DOM交互。WebMethods不在正常页面模型的范围内。
事实上,WebMethod不再受MS支持,你不应该使用它。相反,如果你在.NET 4.5上,你可以创建一个Web API,并用AJAX调用它(jQuery有很好的辅助功能,我看到你标记了它)。Web API将返回字符串,然后您可以使用JavaScript设置文本框的文本。
Web API
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
)并写入响应。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- toBoolean方法类似于toString
- 如何在单击复选框后调用控制器方法
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 有条件更新d3.js力图中节点的最佳方法
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- ASP.net javascript调用代码behing方法