Обход строкового массива на стороне сервера( код позади) на стороне клиента(java script)
Всем привет
Я хочу обойти массив строк в клиентском коде (javascript) следующим образом :
protected void Page_Load(object sender, EventArgs e) { string[] chi = { "sara","mathew" }; Page.ClientScript.RegisterArrayDeclaration("chi", chi.ToString()); }
и в клиентском коде :
<script type="text/javascript"> function pp() { try { var iChi = new Array(10); for (var i = 0; i <chi.length; i++) { iChip.push(chi[i]); } Rdr.CreatePrint(2,iChi); } catch (Err) { alert(Err.description); } }
< / script>
но я не могу получить доступ к чипу, который определен в коде позади вышеприведенного скрипта.
Что я уже пробовал:
при вызове массива в javascript не идентифицируйте массив, который определяете на нем.
Sergey Alexandrovich Kryukov
Вы никогда не вызываете JavaScript со стороны сервера. Просто подумайте об этом: код позади находится на стороне сервера, а JavaScript-на стороне клиента. Вы передаете данные со стороны сервера только косвенно, генерируя контент, включая код JavaScript, в своем HTTP-ответе. В этом собственно и заключается вся цель ASP.NET. В частности, вы можете включить некоторый JavaScript в свой ASP.NET файл и используйте, например, синтаксис Razor @ { ... } (или что бы вы ни использовали) для записи некоторого фрагмента кода JavaScript, вычисленного из ваших серверных данных.
—СА
bernova
как использовать массив chi в javascript ?!, какое есть решение ?!!
например :
http://www.codeproject.com/Questions/554912/sendplusfileplusnameplusformplusclientplussideplus
просто я меняю его на массив
an0ther1
Не знаю, зачем ты это делаешь, но все равно..
Предполагая, что у вас есть скрытое поле на Вашей странице ASP, которое вы заполняете на сервере, вы можете заполнить это поле своим текстом и разграничить его символом, который вряд ли будет использоваться в тексте - ниже я использовал символ";".
например: Сара; Мэтью
Затем на стороне клиента используйте;
ВАР objText = документ.метода getElementById('&л;%=HiddenfieldId.ClientID%>');
var objArray = objText. split(";");