有人知道如何通过C#ASP考试吗.NET数组到JavaScript数组?示例代码也很好.

抱歉,如果我之前语焉不详的话,伙计们.问题其实很简单.为简单起见,我们假设在我的aspx.cs文件中声明:

int [] numbers = new int[5];

现在我想将numbers传递到客户端,并在JavaScript中使用数组中的数据.我该怎么做?

推荐答案

你可以使用ClientScript.RegisterStartUpScript将javascript注入页面加载时的页面.

以下是MSDN参考的链接:

以下是Page_Load中的代码:

  List<string> tempString = new List<string>();
  tempString.Add("Hello");
  tempString.Add("World");

  StringBuilder sb = new StringBuilder();
  sb.Append("<script>");
  sb.Append("var testArray = new Array;");
  foreach(string str in tempString)
  {
    sb.Append("testArray.push('" + str + "');");
  }
  sb.Append("</script>");

  ClientScript.RegisterStartupScript(this.GetType(), "TestArrayScript", sb.ToString());

注意:使用StringBuilder构建脚本字符串,因为它可能会很长.

下面是在使用注入数组"testArray"之前判断它的Javascript:

if (testArray)
{
  // do something with testArray
}

这里有两个问题:

  1. 有些人认为这会干扰C#注入Javascript

  2. 我们必须在全局上下文中声明数组

如果你不能接受这种情况,另一种方法是让C#代码将数组保存到视图状态,然后让JavaScript使用PageMethods(或web服务)回调服务器,以将视图状态对象作为array.但我认为这样做可能有点过头了.

Asp.net相关问答推荐

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

缓存httpmessage内容

在这个 For 循环计数没有增加

如何在 ASP.Net Core 中验证上传的文件

无法为媒体类型application/x-www-form-urlencoded生成样本

ASP.NET @Register 与 @Reference

使用会话变量有多安全 - asp.net / c#

ASP.net 页面在导入语句上出现错误,但我确实有参考?

'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册.

发布发布事件

为什么 Asp.Net Identity IdentityDbContext 是一个黑盒?

什么时候不应该使用 Web 服务?

为什么aspx文件会返回404(找不到页面)

如何从 HTTP 请求中获取 MAC 地址?

实体框架:如何解决外键约束可能导致循环或多个级联路径?

如何将数据集转换为数据表

无法在 IIS 中启动网站 - W3SVC 正在运行

Web API 必填参数

通过 CultureInfo 格式化字符串

SignalR 2.0 错误:无法加载文件或程序集 Microsoft.Owin.Security