1

我想从asp.net应用程序中的c#初始化JavaScript数组值。我有下面我通过循环迭代代码,从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] 

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

回答

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)); 

,然后通过使用例如注册它ClientScriptManager.RegisterStartupScriptBlock方法:

ClientScriptManager cs = Page.ClientScript; 
cs.RegisterClientScriptBlock(
    this.GetType(), 
    "arrayDeclaration", 
    jsArray, 
    true 
);