1

我想在 asp.net 应用程序中从 c# 初始化 JavaScript 数组值。我有下面的代码,我遍历循环,

ScriptManager.RegisterClientScriptBlock(this, this.GetType(),  "assignGroupParty" + i, string.Format("javascript:SetProspectGroupPartyID({0},{1});"currentIndex, currentQueue.PartyID), true);

这里

javascript:SetProspectGroupPartyID

是在 currentIndex 位置设置数组值的函数。

 O/P:- [undefined, 37316]

它总是只分配一个索引,另一个保持未定义。任何人都可以帮助我解决这个问题。谢谢

4

1 回答 1

2

您可以JavaScriptSerializer为此使用类:

int[] numbers = new int[] { 1, 2, 3, 4, 5};
var serializer = new JavaScriptSerializer();
var jsArray = string.Format("var jsArray = {0}", serializer.Serialize(numbers));

然后使用 egClientScriptManager.RegisterStartupScriptBlock方法注册它:

ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(
    this.GetType(), 
    "arrayDeclaration", 
    jsArray, 
    true
);
于 2011-04-19T11:59:37.753 回答