我正在使用 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>
我无法获取 $(document).ready 中的 stringList 值。
请帮我获取该值。
最佳答案
看来您的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)%>;
关于javascript - 如何从后面的代码中分配 $(document).ready 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27632648/