c# - 如何根据单击的按钮在 div 中显示数据:C# MVC
问题描述
我正在使用实体框架和 C# 在 MVC 中开发应用程序。当我点击年份时,我想根据月份显示我的所有案例。为了过滤年份,我正在运行 for 循环以获取从 2009 年到当前年份的年份,并像按钮一样显示年份。默认情况下,或者当我第一次进入页面时,我应该能够看到当年的详细信息。当我点击任何一年时,页面应该刷新并获取该点击年份每个月的所有案例。如果我点击 2017 年,我应该只得到 2017 年有案例的月份。
为了简单理解我在上面的所有岁月就像按钮。当我单击任何年份时,我应该填充该年份的数据。
像这样的东西:
看法:
@model List<Magazine.Models.Case>
@{
ViewBag.Title = "CaseList";
}
<div>
<div>
<div class="container">
<div>
@{
var year = DateTime.Now.Year;
for (var i = year; i > 2009; i--)
{
<div class="col-md-1 ">
@Html.ActionLink(i.ToString(), "MyCases/" + i, new { onclick="$('.container').hide(); $('.container.i').show();" })
</div>
}
}
</div>
</div>
<div class="container">
@foreach (var groupMonth in Model.GroupBy(case => new { case.date.Value.Year, case.date.Value.Month }))
{
<h3> @System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(groupMonth.Key.Month)</h3>
foreach (var case in groupMonth)
{
<div class="row">
@case.date
<div>
@case.title
</div>
<div>
@case.description
</div>
</div>
}
}
</div>
控制器 :
public ActionResult MyCases(int year = 0)
{
var cases = _db.case.Where(p => p.date.Value.Year >= 2009 &&
p.pdate.Value.Year <= DateTime.Now.Year)
.OrderByDescending(p => p.date).ToList();
return View(cases);
}
现在在我的代码中,我刚刚添加了年份循环并为此添加了 onclick,但它没有根据年份过滤数据。我需要获取单击的年份值并将其传递给 foreach 循环以显示单击的年份详细信息。我怎么做?
解决方案
我将第二个容器移到部分视图中,并将来自 for 循环的单击年份传递给控制器以过滤数据。查看:var year = DateTime.Now.Year;for (var i = 年; i > 2009; i--)
{
var j = @i - 1;
<div class="col-md-1 ">
@Html.ActionLink(i.ToString(), "MyCases/" + i)
</div>
}
控制器 :
公共 ActionResult MyCases(int i) {
var cases = _db.case.Where(p => p.date.Value.Year == i)
.OrderByDescending(p => p.date).ToList();
return View(cases);
}
推荐阅读
- docusignapi - Docusign:发件人有没有办法在发送模板之前填写信息而不编辑所述文档的布局?
- r - R语言流包DFD_window
- python - 无法在 Python 中将数据框保存到 csv
- gnu-make - Makefile 替换模式如何在每个输入中产生多个输出?
- mongoose - Mongoose 明确包含一个“隐藏”字段
- ssl - openssl:未知摘要 sha-512
- javascript - 如何在 Ext.js 中进行同步时根据响应状态执行操作
- reactjs - 如何使用 ReactTable 更改标题的样式
- python - 子类或动态属性可修改的Python父类?
- node.js - GraphQL 订阅 - subscriptionsClient.subscribe 不是函数