gpt4 book ai didi

c# - 如何将选定的按钮显示为标签

转载 作者:行者123 更新时间:2023-11-30 17:29:12 25 4
gpt4 key购买 nike

我有多年的按钮。喜欢

2018 2017 2016 2015

我正在使用 for 循环将年份作为按钮。

索引 View

@model List<MyRecord.Models.RecordList>



var year = DateTime.Now.Year;
for (var i = year; i > 2012; i--)
{
var j = @i - 1;
<div class="col-md-1 ">
@Html.ActionLink(i.ToString(), "MyPage", new { i = i })
</div>
}
<h3>@ModelYear.Year</h3>
@foreach (var groupMonth in Model.Records.GroupBy(recordLists => new { recordLists.date.Value.Year, recordLists.date.Value.Month }))
{
<h3 class="monthHeader"> @System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(groupMonth.Key.Month)</h3>
foreach (var recordLists in groupMonth)
{
<div class="row">
@Html.Partial("_PartialView", recordList)
</div>
}
}

Controller

public ActionResult Archives(int i = 0)
{
var recordLists = new List<RecordList>();

if(i == 0)
recordLists = _db.recordlists
.Where(p => p.date.Value.Year == DateTime.Now.Year)
.OrderByDescending(p => p.date)
.ToList();
else
recordLists = _db.recordlists
.Where(p => p.date.Value.Year == i)
.OrderByDescending(p => p.date)
.ToList();

return View(new ModelYear{Records = recordLists, Year = i});
}

型号:

命名空间 MyRecord.Models

{

using System;
using System.Collections.Generic;

公共(public)部分类 RecordList {

    public int id { get; set; }
public string title { get; set; }
public Nullable<System.DateTime> date { get; set; }
}

public class ModelYear
{
public int Year { get; set; }

public List<RecordList> Records { get; set; }
}

当我点击任何一年时,我会根据月份显示那一年的记录。我能够得到月份名称,而不是年份。我的问题是我需要将选定的年份显示为标签或标题;如果我点击 2016,我应该会看到类似这样的内容:

**2016**
Jan
record 1

record 2

如何显示点击的年份?

最佳答案

为什么不把它包含在模型类中:

public class Model
{
public int Year {get;set;}

public List<RecordList> Records {get;set;}
}

然后就可以在controller中设置了:

public ActionResult Archives(int i = 0)
{

var recordLists = new List<RecordList>();

if(i == 0)
recordLists = _db.recordlists.Where(p => p.date.Value.Year == DateTime.Now.Year)
.OrderByDescending(p => p.date).ToList();
else{
recordLists = _db.recordlists.Where(p => p.date.Value.Year == i).OrderByDescending(p => p.date).ToList();
}

return View(new Model{Records = recordLists, Year = i});
}

并将其显示在 View 中:

<h1>@Model.Year</h1>

@foreach (var groupMonth in Model.Records.GroupBy(recordLists => new { recordLists.date.Value.Year, recordLists.date.Value.Month }))
{
<h3 class="monthHeader"> @System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(groupMonth.Key.Month)</h3>
foreach (var recordLists in groupMonth)
{
<div class="row">
@Html.Partial("_PartialView", recordList)
</div>
}
}

关于c# - 如何将选定的按钮显示为标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com