这是一个例子:
JavaScript:
var b = 'Banana';
var list= <%= getJson() %>; // want to pass b?
C# 方法:
using System.Web.Script.Serialization;
....
public string getJson(string x)
{
var list = new List<object>{new []{ "1","Apple"}, new []{ "2",x}};
return (new JavaScriptSerializer()).Serialize(list);
}
当我从 JavaScript 调用 getJson() 时,如何传递变量 b?
最佳答案
问题是,服务器端代码执行并生成页面(包括此时只是文本的 javascript)。然后该页面被发送到执行 JavaScript 的浏览器。
到那时,在服务器端执行任何操作都为时已晚。
您的选择是:
- 使用表单字段中来自 JS 的新变量,对整个页面执行 GET/POST/类似操作返回服务器。这是微不足道的,但会导致全页刷新,并且变得越来越不理想。
- 使用 Javascript Ajax 请求将变量传递回服务器并请求其更新内容。使用服务器的响应为用户更新页面
有关如何使用 jQuery 执行后者的文档已提供 here Stack Overflow 周围确实有数千个示例。
关于javascript - 如何从 JavaScript 传递服务器端方法的参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704116/