【问题标题】:How to assign value in $(document).ready from code behind如何在 $(document).ready 从后面的代码中赋值
【发布时间】:2015-02-22 07:41:53
【问题描述】:

我正在使用 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 值

请帮助我获得价值。

【问题讨论】:

    标签: javascript c# jquery asp.net twitter-bootstrap


    【解决方案1】:

    看来您的stringList 实际上是对象的集合。为了在 JavaScript 中使用它,您需要将它序列化为一个 javascript 对象。

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

    这样你就可以得到以下结果:

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

    编辑

    JavaScriptSerializer 位于 System.Web.Script.Serialization 中 - 您需要在下面的 &lt;%@ Page 顶部添加此内容

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

    或指定 FQ 名称

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

    【讨论】:

    • 我收到错误:在编译服务此请求所需的资源时出错。请查看以下具体错误详情并适当修改您的源代码。 当我使用 var valueAssigned=;
    • 请原谅延迟 - 您需要限定命名空间。
    【解决方案2】:

    StuartLC 的回答就足够了。为此,JSON 是非常好的选择。其他选项可以是在 aspx.cs 中注册客户端脚本。这是另一个关于此的 SO 问题

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

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 2017-11-24
      • 1970-01-01
      • 2017-10-02
      相关资源
      最近更新 更多