在不涉及控制器的情况下对MVC视图列表中的项进行排序
Sorting items in a list of MVC view without involvement of controller
根据我的理解,我发现我们也可以从视图中进行编码。因此,我有一个使用foreach循环在View中填充的列表。
@foreach (var item in Model)
{
@Html.Raw(item.Name)<br />
@Html.Raw(item.Price)<br />
@Html.Raw(item.Description)<br />
@Html.Raw(item.Image)
<hr />
}
我还有一个foreach循环外的下拉列表,我想在那里使用价格进行排序
我可以通过将模型传递给控制器来完成此操作,但在这里页面会完全刷新,这是我不希望发生的事情。Inturn我只想对模型进行动态排序,比如说使用javascript来细化模型中有列表的项目。如有任何帮助,我们将不胜感激。
我认为你正在尝试的是无法完成的事情。
我认为您正在尝试使用Razor语法刷新页面以重新排序列表,而无需对服务器进行页面刷新或HTTP调用。这是不可能的,因为ASP.NET MVC世界中的视图是cshtml定义,每个调用将执行一次。您需要在客户端运行一些东西来刷新页面(即JavaScript)。
一个好主意是将模型的内容输出为Json(可以在标准MVC控制器(没有关联视图)中使用MVC控制器Json函数返回JsonResult)。您还可以使用WebApi控制器,该控制器可以本地生成Json。
然后,您需要在客户端有一些代码来查看该模型,并根据客户端交互对其进行重新排序。Angular.js和Backbone.js是很好的竞争者,但还有很多其他的。
或者您可以使用jQuery。
相关文章:
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- jQuery UI可排序-多连接列表拖动
- 如何在javascript中通过rtl字母表对列表进行排序和分组
- 如何在Javascript中创建排序、拖放多级列表
- 使用选项组对下拉列表进行排序
- JQuery根据连字符前的首字母对列表进行排序
- 可排序和可丢弃的淘汰列表
- 在Javascript中,当使用array.prush方法向列表中添加项目时,如何对其进行排序
- 使用JS或新查询对列表进行排序
- 对Soundcloud自定义播放器播放列表的顺序进行排序
- 如何在角度js的自动完成下拉列表中对项目列表(按字母顺序)进行排序
- 尝试将长列表排序为单独的列
- 不使用排序数组的动态列表排序
- 使用角度 js 按顺序列表排序
- 在JavaScript和MySQL中存储列表排序顺序的替代方法
- 如何用Vue.js动画化列表排序
- 按字母顺序对列表排序,末尾为字符
- IE7,jQuery-1.6.2:列表项向下移动到包含元素的下面(多列表排序)
- 按元素的值对列表排序