在回发期间保持JavaScript数组变量

时间:2010-07-16 06:47:43

标签: asp.net javascript

如何在网页生命周期中保留ctrlIDhdnImageSourceArrayJs,ctrlIDhdnElementsArayJsHidden的值......

"<script language = javascript>
                                            debugger;
                                            var ctrlIDhdnImageSourceArrayJs     = '" + this.hdnImageSourceArrayJs.ClientID + @"';
                                            var ctrlIDhdnElementsArayJsHidden   = '" + this.hdnElementsArayJsHidden.ClientID + @"';
                                            var loaderF = function getImagesData()
                                            {

                                                var fieldNamesList=[" + fieldNames + @"];
                                                return KrediKartUtils.LoadImagesData('0','" + KrediKartiRow.Row.SmartPenFormNo + @"',fieldNamesList,LoadImagesDataCallBack);        
                                            };


                                            function LoadImagesDataCallBack()
                                            {
                                                    if(images.length > 0) 
                                                    {
                                                        var numImages = 10; /*10 ar 10 ar göster*/
                                                        while(images.length > 0 && numImages-- > 0)
                                                        {
                                                            document.getElementById(elements.shift()).src =images.shift();

                                                        }
                                                       /* setTimeout(fetchImages, 1000); *//*1sn de bir*/
                                                    LoadImagesDataCallBack();
                                                    }

                                            }
                                            if('False' == '" + Page.IsPostBack.ToString() + @"')
                                            {

                                              var images=[" + imageSourceArrayJs + @"];
                                              var elements=[" + elementsArayJs + @"];  
                                              document.getElementById(ctrlIDhdnImageSourceArrayJs).value="""+imageSourceArrayJs+@""";
                                              document.getElementById(ctrlIDhdnElementsArayJsHidden).value="""+elementsArayJs+@""";  
                                              window.onload = loaderF;                                  
                                            }else{
                                                var images=[document.getElementById(ctrlIDhdnImageSourceArrayJs).value];
                                                var elements=[document.getElementById(ctrlIDhdnElementsArayJsHidden).value];                         
                                               LoadImagesDataCallBack();
                                            }

                                            </script>";

1 个答案:

答案 0 :(得分:1)

要在新请求期间保留任何值,您需要在请求中包含这些值。

这意味着对于GET,您需要在查询字符串中包含值

?myValue=1&myArray=1,2,3,4,5

对于POST,您需要将值附加到已发布的数据(通常是在“onsubmit”事件期间将它们放在表单字段中。

然后,您可以处理这些服务器端并将其值写入页面,或使用JavaScript从document.location检索它们。