jQuery中的访问模型对象

jQuery中的访问模型对象,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个模型,客户,其中我有一个列表属性,PayHistory。我需要在ASP.NET MVC应用程序中使用jQuery将表与PayHistory对象绑定 我使用jQuery将表绑定为: <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <div id="PaidDate"> &l

我有一个模型,客户,其中我有一个列表属性,PayHistory。我需要在ASP.NET MVC应用程序中使用jQuery将表与PayHistory对象绑定

我使用jQuery将表绑定为:

<table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td>
            <div id="PaidDate">
            </div>
        </td>
        <td>
            <div id="PaidAmt">
            </div>
        </td>
    </tr>
</table>

<script type="text/javascript" language="javascript">
    $(document).ready(function() {
      //Initialize the dynamic Value;
      _dynId = 1;
      var data= '<%= Model.PayHistory %>';
       if (data != null) {
            for (i in data) {
                var pay= data[i];
                $('#PaidDate').append('<div id="PaidDate' + _dynId  + '" style="height:20px;padding-left:10px;">' + '<label>' + pay.paidDate+ '</label>');
                $('#PaidAmt').append('<div id="PaidAmt' + _dynId  + '" style="height:20px;padding-left:10px;">' + '<label>' + pay.PaidAmount + '</label>');
                _dynId   += 1;
            }
        }
    });
</script>
在上面的HTML中,我试图在jQuery中访问list对象PayHistory,但它给出了对象的类型


如何访问jQuery中的对象以绑定上面给出的HTML中的表?

您需要做更多的工作才能将数据转换为JavaScript可以理解的形式。最简单的方法是将对象中的数据编码为,然后将其发送到数据变量

您可以通过创建执行此操作的类的方法手动执行此操作,或者因为您使用的是ASP.NET MVC,所以可以使用。但是,这必须在控制器而不是视图中完成。因此,我会将其添加到模型对象或通用视图数据中。它可能作为模型对象的一个属性存在,该属性只调用原始值上的Json方法并返回它

C

JS


现在,您应该有一个类似于C对象的对象。您可以在其上循环并按名称引用属性。如果您提供PayHistory对象的基本结构,我可以给出更好的示例。

您需要做更多的工作才能将数据转换为JavaScript可以理解的形式。最简单的方法是将对象中的数据编码为,然后将其发送到数据变量

您可以通过创建执行此操作的类的方法手动执行此操作,或者因为您使用的是ASP.NET MVC,所以可以使用。但是,这必须在控制器而不是视图中完成。因此,我会将其添加到模型对象或通用视图数据中。它可能作为模型对象的一个属性存在,该属性只调用原始值上的Json方法并返回它

C

JS


现在,您应该有一个类似于C对象的对象。您可以在其上循环并按名称引用属性。如果您提供PayHistory对象的基本结构,我可以给出更好的示例。

用于.NET对象和类与JSON之间的各种转换。

用于.NET对象和类与JSON之间的各种转换。

我收到一个错误:当前上下文中不存在名称“JSON”。当我使用var data=;我需要在这里添加任何引用吗?看起来您必须将此Json调用移动到控制器。由于其保护级别,不允许在视图中使用。我更新了我的答案以反映这一点。+1,您也可以尝试var data=;跳过评估。它说,当前上下文中不存在名称“Json”。我也尝试过使用ViewData作为ViewData[PayHistory]=Jsoncustomer.PayHistory;但是它只在jquery赋值中返回类型。引用了@EmpirededMassa和@takepara的答案以获得所需的结果。我得到一个错误:名称“Json”在当前上下文中不存在。当我使用var data=;我需要在这里添加任何引用吗?看起来您必须将此Json调用移动到控制器。由于其保护级别,不允许在视图中使用。我更新了我的答案以反映这一点。+1,您也可以尝试var data=;跳过评估。它说,当前上下文中不存在名称“Json”。我也尝试过使用ViewData作为ViewData[PayHistory]=Jsoncustomer.PayHistory;但它只在jquery赋值中返回类型。引用@EmpirededMassa和@takepara的答案以获得所需的结果。有没有最简单的jquery选项来读取序列化对象?我需要通过读取json将值绑定到一个div..得到答案。。var数据=;var payhistory=评估数据;有没有最简单的jquery选项来读取序列化对象?我需要通过读取json将值绑定到一个div..得到答案。。var数据=;var payhistory=评估数据;
var data= <%= new JavaScriptSerializer().Serialize(Model.PayHistory) %>;
var data = '<%= Model.JsonPayHistory %>';
data = eval(data); // usually a bad idea
data = JSON.parse(data); // may require a library if browser doesn't support it
var data= <%= new JavaScriptSerializer().Serialize(Model.PayHistory) %>;