Pra*_*sad 1 asp.net-mvc jquery
我有一个Model,Customers我有一个list属性,PayHistory.我需要PayHistory在ASP.NET MVC(C#)应用程序中使用jQuery 将表与对象绑定.
我使用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>
Run Code Online (Sandbox Code Playgroud)
在上面的HTML中,我试图访问PayHistoryjQuery中的列表对象,但它给出了对象的类型.
如何在jQuery中访问对象以绑定表,如上面给出的HTML?
您需要做更多的工作才能将数据转换为JavaScript可以理解的表单.最简单的方法是将对象中的数据编码为JSON字符串,然后将其发送到data变量.
您可以手动执行此操作(通过创建执行此操作的类的方法),或者由于您使用的是ASP.NET MVC,因此可以使用Json方法.但是,这必须在Controller而不是View中完成.所以,我会将它添加到您的Model对象或通用View Data中.它可能作为Model对象的属性存在,它只对原始值调用Json方法并返回它.
C#
public string JsonPayHistory
{
get
{
return Json(PayHistory);
}
}
Run Code Online (Sandbox Code Playgroud)
JS
var data = '<%= Model.JsonPayHistory %>';
Run Code Online (Sandbox Code Playgroud)
您将需要查看返回的字符串.它将采用JSON格式,并且必须进行评估.你可以通过添加:
data = eval(data); // usually a bad idea
Run Code Online (Sandbox Code Playgroud)
要么
data = JSON.parse(data); // may require a library if browser doesn't support it
Run Code Online (Sandbox Code Playgroud)
现在,您应该有一个类似于C#对象的对象.您可以循环它并按名称引用属性.如果您提供PayHistory对象的基本结构,我可以提供更好的示例.
| 归档时间: |
|
| 查看次数: |
16228 次 |
| 最近记录: |