我正在使用twitter bootstrap开发一个.net应用程序。
我试图从.aspx.cs页面获取数据到.aspx页面。
请在下面找到我的代码:
strOblect.cs
public class strObject
{
public string Name { get; set; }
public string Description { get; set; }
}
.aspx.cs页面:
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>
我无法在$(文档).ready 中获取stringList值。
请帮助我获得价值。
答案 0 :(得分:4)
您的stringList
实际上是对象的集合。为了在JavaScript中使用它,您需要将其序列化为javascript对象。
var valueAssigned=<%=new JavaScriptSerializer().Serialize(stringList)%>;
这样你就可以了解以下内容:
var valueAssigned= [{Name: "Foo", Description: "Bar"}, {...}];
修改
JavaScriptSerializer
位于System.Web.Script.Serialization
- 您需要在<%@ Page
<%@ Import Namespace="System.Web.Script.Serialization" %>
或指定FQ名称
var valueAssigned=<%=new System.Web.Script.Serialization.JavaScriptSerializer()
.Serialize(stringList)%>;
答案 1 :(得分:1)
StuartLC的答案就足够了.JSON是非常好的选择。其他选项可以在aspx.cs中注册客户端脚本。这是关于那个的另一个问题