Jquery 将列表修改为带日期的订单内部视图
当用户单击排序链接时,我有这个jquery函数可以根据日期时间重新排列列表Jquery 将列表修改为带日期的订单内部视图,jquery,asp.net,asp.net-mvc-3,razor,Jquery,Asp.net,Asp.net Mvc 3,Razor,当用户单击排序链接时,我有这个jquery函数可以根据日期时间重新排列列表 $('#sort-date-added').click(function () { '@Model.HomeProducts' = '@Model.HomeProducts.OrderBy(x => x.LastModifiedDate)'; alert('xx'); $.each('@Model.HomeProducts', function (i
$('#sort-date-added').click(function () {
'@Model.HomeProducts' = '@Model.HomeProducts.OrderBy(x => x.LastModifiedDate)';
alert('xx');
$.each('@Model.HomeProducts', function (index) {
alert('@Model.HomeProducts.ElementAt(index).Name');
//x++;
});
});
<p><a id="sort-date-added" href="#">Sort by Date Added</a></p>
这是排序链接
$('#sort-date-added').click(function () {
'@Model.HomeProducts' = '@Model.HomeProducts.OrderBy(x => x.LastModifiedDate)';
alert('xx');
$.each('@Model.HomeProducts', function (index) {
alert('@Model.HomeProducts.ElementAt(index).Name');
//x++;
});
});
<p><a id="sort-date-added" href="#">Sort by Date Added</a></p>
但是它不起作用,有人知道为什么吗,有人能在这个解决方案或更好的解决方案中提供帮助吗?如果我是你,我会做以下事情: 主要观点:
<p><a id="sort-date-added" href="#">Sort by Date Added</a></p>
<div id="list">
@Html.Partial("_ProductsList", Model)
</div>
HomeController中的ASP.NET或其他内容:
[HttpPost]
public ActionResult GetOrderedProducts(int orderType)
{
switch(orderType)
{
case 1:
//order by date
}
return PartialView("_ProductsList", Model);
}
您可以为排序依据的字段创建枚举
其基本思想是创建一个包含列表的局部视图,并在服务器上对该列表的元素进行排序。您可以通过ajax重新命名列表来更新视图。
我认为这是最好的方法。$。每个'@Model.HomeProducts',函数键,索引{}?键代表什么?@BrianMains我持有按字母顺序排列的列表,在运行时,如果用户单击按日期排序,我会将排序更改为按时间排序,该行将按日期排序