我已经在这个问题上停留了一段时间,确实需要一些建议......
我正在开发一个 ASP.Net 网页,到目前为止,该网页约有 60 个控件(文本框、复选框和下拉列表),其中一些来自 Web 用户控件。如果可能的话,我想在不回发的情况下保存数据。我尝试通过 AJAX 实现此目的,但无法使用 C# Web 方法引用我的控件。
有没有办法在没有回发的情况下调用常规 C# 方法?或者是通过将所有控制值的数组从 JavaScript 传递到 C# Web 方法来实现此目的的唯一方法?如果是这样,是否有任何简单的方法可以将所有控件值放入 JavaScript 中的数组中,然后放入 C# 中的 DataTable
中?
请随意提出解决此问题的任何其他解决方案。
最佳答案
我在这里回答了类似的问题:
calling a public function of an asp.net ajax server control from client side
您基本上设置了一个 asmx 服务,并添加了一些脚本启用属性,让脚本管理器生成一些 ajax 代理 stub 调用。
我最近在一个网络应用程序中做了这件事,我正在转换表单更新面板,我的服务器调用看起来像这样:
var data = $("#inlineContent :input").serialize();
MyApplication.AttorneyService.PostAttorneyForm(data,
function(result) { ... };
function(error) { ... });
然后在服务器上,我将序列化字符串读入字典中,然后 使用它来填充知道如何将自身更新到 SQL Server 的业务对象。
关于c# - 如何将控制值从 javaScript 传递到 C# WebMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249151/