我正在使用一种模式,结构如下。
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个detailbyclientclient.upldId放到jquery数组中。是否可以将模型项推送到jquery数组。我已经尝试过类似的方法,但是没有运气。var listArray = new Array();
@foreach(var data in Model.detailsbyclientId)
{
listArray.push(data.upld_Id);
}
您不能像这样混合razor(服务器端代码)和javascript(客户端代码)(foreach
在服务器发送到客户端之前在服务器上运行,并且listArray
是当时不存在的javascript变量。您可以使用
var listArray = @Html.Raw(Json.Encode(Model.detailsbyclientId.Select(x => x.upld_Id)))
尽管查询应该在控制器中,而不是视图中。向您的视图模型添加属性
public IEnumerable<int> Ids { get; set; }
并将控制器代码修改为
List<detailsbyClientId> detailsbyclient = objBAL.detailsbyclient(cId);
IPagedList<detailsbyClientId> pagedLog = detailsbyclient.ToPagedList(pageNumber, pageSize);
detailsbyclientIdviewModel model = new detailsbyclientIdviewModel()
{
Ids = pagedLog.Select(x => x.upld_Id),
detailsbyclientId = pagedLog
};
并认为
var listArray = @Html.Raw(Json.Encode(Model.Ids)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句