有人知道如何通过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相关问答推荐

在 Windows Server 2008 IIS7 上的 ASP.NET 中写入事件日志(log)

.Net Framework:w3wp.exe 中的异常

AppendHeader 是否与 AddHeader 完全相同?

IE10 SCRIPT5009:__doPostBack未定义

'Access-Control-Allow-Origin' 标头包含多个值 '*, *',但只允许一个

如果站点在 localhost 或 127.0.0.1 上运行,如何判断 ASP.NET MVC 视图

判断会话是否为空

在视图 Mvc.net 中访问路由值

在 cookie 中存储多个值

文本框的输入按键触发事件

使用 gridview asp.net 进行排序和分页

ASP.Net 自定义客户端验证

ASP.NET 中的多选下拉列表

从后面的 asp.net 代码中读取表单身份验证 cookie

用于呈现

如何进入 IIS 管理器?

如何在 .NET Core 中实现 DbContext 连接字符串?

ASP.NET 身份提供程序 SignInManager 不断返回失败

IIS url 重写角色,除了一些 url

字体真棒里面asp按钮