I have an array which I am storing inside an <input type="hidden">. Here is my code.
Javascript:
var trees;
// called when the body loads
function BodyOnLoad()
{
trees = document.getElementById("trees");
trees.value = new Array();
}
// this is what isn't working
function AddTree()
{
var i = trees.value.length;
trees.value[i] = new Array();
/***/
trees.value[i]["branches"] = 5;
trees.value[i]["trunk"] = 0;
}
HTML: <input type="hidden" name="trees" id="trees" />
In C#, Request.Form["trees"] is not an array. What am I doing wrong?
The HTML form post won’t preserve a javascript object (in this case an Array). You should look at converting your Array to JSON and passing that in the form if you need to preserve the array object.
Include this script (JSON2) in your page:
JSON2
Then on the server side you will need to convert the JSON to a C# Array using something like this:
Add reference to JavaScriptSerializer from System.Web.Extensions.dll (.NET 3.5 SP1)