javascript - 如何从 JavaScript 传递服务器端方法的参数值?

标签 javascript c# asp.net

这是一个例子:

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/

相关文章:

javascript - 试图缩短javascript中的条件语句

c# - 如何将 List<List<string>> 转换为 DataTable

html - 对齐标签组和输入

asp.net - 来自服务器端代码的 asp.net 中的客户端模式对话框。 (我该怎么做呢)

c# - 自定义 Ajax 工具包 Html 编辑器控件

javascript - 开发工具中的缓慢光栅化

javascript - 无法检索从 AJAX 发送的 POST 数据, undefined index php

javascript - 如何解决 eslint 中的 import() (以前的 System.import())语法错误?

c# - 如何在 RadioButtonList asp.net 控件的列表项之间添加空格?

c# - 如何将图像保存为 DICOM