Prathiba
Prathiba

Reputation: 45

How to assign value in $(document).ready from code behind

i'm developing a .net application using twitter bootstrap.

I'm trying to get data from .aspx.cs page to .aspx page.

Please find my code below:

strOblect.cs

public class strObject
{
 public string Name { get; set; }
 public string Description { get; set; }
}

.aspx.cs page:

public List<strObject> stringList = new List<strObject>();
protected void Page_Load(object sender, EventArgs e)
{
   strObject ObjOne=new strObject();
   ObjOne.Name="One";
   ObjOne.Description ="One";
   stringList.Add(ObjOne);
   strObject ObjTwo=new strObject();
   ObjTwo.Name="Two";
   ObjTwo.Description ="Two";
   stringList.Add(ObjTwo);
   strObject ObjThree=new strObject();
   ObjThree.Name="Three";
   ObjThree.Description ="Three";
   stringList.Add(ObjThree);
}

.aspx:

<asp:Panel  ID="pnlData"  runat="server" style="background-color:White;">

<script type="text/javascript">

 $(document).ready(function () {
    var valueAssigned=stringList;
});

</script>

</asp:Panel>

I'm unable to get stringList value in $(document).ready.

Please help me out to get the value.

Upvotes: 0

Views: 1032

Answers (2)

StuartLC
StuartLC

Reputation: 107327

It appears that your stringList is actually a collection of objects. In order to use it in JavaScript as such, you'll need to serialize it to a javascript object.

var valueAssigned=<%=new JavaScriptSerializer().Serialize(stringList)%>;

So that you can wind up with the following:

var valueAssigned= [{Name: "Foo", Description: "Bar"}, {...}];

Edit

JavaScriptSerializer is in System.Web.Script.Serialization - you'll either need to add this below at the top of your <%@ Page

<%@ Import Namespace="System.Web.Script.Serialization" %>

or specify the FQ name

var valueAssigned=<%=new System.Web.Script.Serialization.JavaScriptSerializer()
                         .Serialize(stringList)%>;

Upvotes: 4

husnain_sys
husnain_sys

Reputation: 571

StuartLC's answer will be enough.JSON is very good option for that purpose. Other option can be to register client script in aspx.cs. Here is another SO question regarding that

How do I pass data from c# to jquery/javascript?

Upvotes: 1

Related Questions