如何制作从数据库动态更新的链接列表?

How to make a list of links that dynamically updates from a Database?

我是re-developing我的网站在ASP.NET5,MVC 6和EntityFramework7。它是乐高收藏家的参考网站。我试图在 "browse the database" 主页上列出产品发布的所有年份。我开发了一个,但我想弄清楚如何 link 在 "Browse" 控制器中查看每年,并让 link 名称成为年份。

示例:

我的页面现在是这样的,但是是动态的。我希望这些年份显示为 links,并且 link 显示在控制器中每年的部分。

这是我当前的代码:

<ul class="browse-years">
@foreach (var item in Model.Select(c => c.YearFrom).Distinct()) { 
    <li>@item</li>
}

希望您能对此有所帮助。谢谢。

贾罗德

UltimateBrickReference.com

的所有者

使用这个:

<li><a asp-controller="Product" asp-action="Display"  asp-route-id="@ViewBag.ProductId">@item</a></li> 

这将为您提供以下内容:

<a href="/Product/Display/1">View Details</a>

因此根据您的需要更改 asp-controller、asp-action 和 asp-route-id。如果您需要任何帮助,请告诉我

在您的 LI 元素中,使用 Html.ActionLink 助手来创建您的 link:

<li>@Html.ActionLink(item.ToString(), "ListYear", new { thisYear = item })</li>

这将呈现 HTML 如下所示:

<li><a href="/Home/ListYear?thisYear=2016">2016</a></li>

第一个参数是link文本;如果 item 不是字符串,则必须将其转换为一个。第二个参数是您希望在用户单击 link 时获得控制权的控制器操作。第三个参数是一个包含 属性 的对象,它存储年份(或项目或 item.year 或其他)的值,因此控制器知道要显示哪一年的数据。

然后,在您的控制器中,编写一个操作来获取要显示的数据并将控制权转移到将显示该数据的视图。它会像这样开始:

 public ViewResult ListYear(object year)
        {
            return View();
        }

您可以添加代码以从对象中提取年份,从数据库中检索它,然后将其传递给您将创建的视图以显示传递的数据。