du kan gemme alt i en session, så derfor er der ikke forskel på om du gemmer tre tegn, eller et arraylist med 234532 objecter i.... en ting du dog måske har glemt, det er at caste dit array.
Et array er nemlig af typen object, lidt ala variant i det gamle VB...
jeg har lavet et lille ekspempel her:
Først opretter vi array'et, og gemmer det i en session
string[] strArray = {"hej", "med", "dig"};
Session["Array"] = strArray
Når vi så skal vise et element på siden skal vi sørge for at caste session'en til et array
string[] str = (string[])Session["Array"];
Og så kan man skrive det ud
Response.Write str[1]
Det er afprøvet, og virker også i en clickprocedure... du kan selv kigge
http://www.burningice.dk/sjov/sessions.aspx<%@ Page Language="C#" Debug="true" %>
<script language="C#" runat="server">
void Page_Load(object sender, EventArgs e) {
string[] stringarr = {"hej", "med", "dig"};
Session["arr"] = stringarr;
Session["hej"] = "hej";
if (!Page.IsPostBack) {
hej.InnerHtml = Session["hej"].ToString();
}
}
void btnHej_Click(object sender, EventArgs e) {
hej.InnerHtml += Session["hej"].ToString();
string [] str = (string[])Session["arr"];
divarr.InnerHtml = str[2];
}
</script>
<html>
<head></head>
<body>
<form runat="server">
<div id="hej" runat="server" /><br>
<div id="divarr" runat="server" />
<asp:button id="btnHej" onClick="btnHej_Click" text="hej" runat="server" />
</form>
</body>
</html>