【发布时间】:2016-08-30 08:44:13
【问题描述】:
我使用一种模式,结构如下。
public class detailsbyclientIdviewModel
{
public int upldId { get; set; }
public IPagedList<detailsbyClientId> detailsbyclientId { get; set; }
}
这是我的控制器代码。
List<detailsbyClientId> detailsbyclient = objBAL.detailsbyclient(cId);
IPagedList<detailsbyClientId> pagedLog = detailsbyclient.ToPagedList(pageNumber, pageSize);
detailsbyclientIdviewModel model;
model = new detailsbyclientIdviewModel()
{
detailsbyclientId = pagedLog
};
例如 detailsbyclientId 有 8 个项目。例如,我可以检索并显示每个项目,如下所示。
@foreach (var group in Model.detailsbyclientId)
{
<tr>
<td> @group.clientName </td>
</tr>
}
同上,我有一个属性 detailsbyclientId.upldId。 例如,如果我的 detailsbyclientId 有 5 个项目,那么我的 detailsbyclientId.upldId 有 5 个项目。我想将所有这 5 个详细信息按clientId.upldId 放到 jquery 数组中。这是否可以将模型项推送到 jquery 数组。我尝试过这样的事情,但没有运气。 var listArray = new Array();
@foreach(var data in Model.detailsbyclientId)
{
listArray.push(data.upld_Id);
}
【问题讨论】:
-
你可以使用
var ids = @Html.Raw(Json.Encode(Model.detailsbyclientId.Select(x => x.upld_Id)))创建你的数组但是查询应该在服务器上,而不是在客户端上。 -
我实现了。现在 ids 持有所需的值。我可以知道哪个查询应该在服务器上吗?
-
你的视图模型应该有一个属性(比如)
IEnumerable<int> Ids,并在 GET 方法中 -model = new detailsbyclientIdviewModel() { Ids = pagedLog.Select(x => x.upld_Id), detailsbyclientId = pagedLog }然后在视图中var ids = @Html.Raw(Json.Encode(Model.Ids)) -
是的,我明白了。但我在脚本中编写了查询,它也可以正常工作。无论如何,我通过在服务器端编写查询来实现你所说的。多谢。你能回答吗?
标签: jquery arrays asp.net-mvc asp.net-mvc-4