如何在会话中存储数组并使用javascript将其检索 [英] How to store an array in session and retrive it with javascript

查看:61
本文介绍了如何在会话中存储数组并使用javascript将其检索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



在我的c#代码中,我在会话中存储了一个数组。下面是c#代码



  protected   void  loadDuties()
{
MyClass M = new MyClass();
string [] duties = null ;
duty = M.get_Duties();
会话[ 职责] =职责;
// 退货税;
}





在我的母版页上,我想要检索这个数组。



 <   script  >  
function load(){
var duties = new Array();
duties ='<% =会话[ 职责]。ToString()%> ';
alert(duties.toString());
for(i = 0; i < duties.length; i ++)

{

document.getElementById(duties [i])。style.display = block ;

}

}

window.onload = load;

< / script >





但警告打印System.String []

请帮助

解决方案

首先序列化然后使用....



 var dataArray = <% =  new  System.Web.Script.Serialization.JavaScriptSerializer()。Serialize(Session [ 职责])%>  

alert(dataArray [1]);
< / script >






首先从隐藏中获取会话对象输入是一种更加可行的方式。但为此,您必须将数组转换为JSON对象。您可以使用 Javascript Serializer [ ^ ]



要做到这一点,请在页面中放置一个隐藏的对象:



<输入runat =servertype =hiddenname =myhiddenid =myhidden/> 





之后设置会话值从代码隐藏中进入它,



 myhidden.Value =你的责任; 





然后很容易从javascript到达这个隐藏的输入。



 alert(document.form1 .myhidden.value)


Hi,
In my c# code, I store an array in session. Below is the c# code

protected void loadDuties()
       {
           MyClass M = new MyClass();
           string[] duties = null;
           duties = M.get_Duties();
           Session["duties"]= duties;
           //return duties;
       }



And on my master page, I want to retrieve this array.

<script>
    function load() {
         var duties = new Array();
        duties = '<%=Session["duties"].ToString()%>';
        alert(duties.toString());
        for (i = 0; i < duties.length; i++)

            {

            document.getElementById(duties[i]).style.display = "block";

            }

                   }

                   window.onload = load;

   </script>



But the alert prints System.String[]
Please help

解决方案

First Serialize then use ....

    var dataArray = <%=new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Session["duties"])%>

    alert(dataArray[1]);
</script>


Hi,

First of all reaching session objects from hidden inputs is a more prefable way. But for this purpose you have to convert your array into a JSON object. You can do it with Javascript Serializer[^]

To do it place a hidden object into your page:

<input runat="server" type="hidden" name="myhidden" id="myhidden" />



Afterwards set your session value into it as well from the codebehind,

myhidden.Value = "YOUR DUTIES";



Then it's easy to reach this hidden input from javascript.

alert(document.form1.myhidden.value)


这篇关于如何在会话中存储数组并使用javascript将其检索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆