-2
顯示從SQL數據庫中的數據
我是一個MVC網上商店項目工作,我在SQL server
做出分類和產品數據庫,現在我想從顯示在此數據庫中的類別網頁主頁。我創建一個會話和在_Layout.cshtml
調用此會議嘗試過,但我發現,會議是不顯示在主頁上的類別,雖然它的工作是個好主意,因爲會話主要用於餅乾... 問題:這是做到這一點的正確方法,還是更好的做法? 我在Homecontroller.cs
寫了這個:如何_Layout.cshtml在MVC
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCOnlineShop.Models;
namespace MVCOnlineShop.Controllers
{
public class HomeController : Controller
{
OnlineStoreEntities storeDB = new OnlineStoreEntities();
//
// GET: /Home/
public ActionResult Index()
{
var Categories = storeDB.Categories.ToList();
return View(Categories);
}
//
// GET: /Home/Browse
public ActionResult Browse(string Category)
{
// Retrieve Category and its Associated Products from database
var CategoryModel = storeDB.Categories.Include("Products")
.Single(g => g.CategoryName == Category);
return View(CategoryModel);
}
//
// GET: /Home/Details
public ActionResult Details(int id)
{
var Product = storeDB.Products.Find(id);
return View(Product);
}
//
// GET: /Home/Browse?Category=Games
}
}
,並提出了PartialView在Views/Home
稱爲CategoryLayout.cshtml
:
@model IEnumerable<MVCOnlineShop.Models.Category>
@{
ViewBag.Title = "Categories";
}
<ul>
@foreach (var Category in Model)
{
<li>
@Html.ActionLink(Category.CategoryName,
"Browse", new { Category = Category.CategoryName })
</li>
}
</ul>
,並在我的_Layout.cshtml
寫了這個:
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<div class="dropdown">
<button class="dropbtn">@Html.Partial("CategoryLayout")</button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</ul>
}
顯示您的代碼。 – Reshma
如果類別不會改變,您可以將它們緩存在服務器端的應用程序狀態中。看到這個https://docs.microsoft.com/en-us/aspnet/web-forms/overview/data-access/caching-data/caching-data-at-application-startup-cs –
@Reshma我編輯和添加有些代碼請檢查 – Ahmad