инициализировать значение массива JavaScript из c # - PullRequest
1 голос
/ 19 апреля 2011

Я хочу инициализировать значение массива JavaScript из c # в приложении asp.net. У меня есть код ниже, который я повторяю через цикл,

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

здесь

JavaScript: SetProspectGroupPartyID

- это функция, которая устанавливает значение массива в позицию currentIndex.

 O/P:- [undefined, 37316]

он всегда присваивается только с одним индексом, а другой остается неопределенным. Может ли кто-нибудь помочь мне в этом. Спасибо

1 Ответ

2 голосов
/ 19 апреля 2011

Вы можете использовать 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
);
...