2013-03-24 48 views
2
頁面佈局

在目前,我有一個局部視圖,我手動顯示我所有的博客類的鏈接。我想通過從數據庫中提取來使其變爲動態。我不確定如何在局部視圖內完成此操作。如果它更容易,我甚至會願意在實際的_layout頁面內做到這一點。顯示博客類別在局部視圖

這是我現在所擁有的。

_Categories.cshtml

<h2>Categories</h2> 
<hr/> 
<p> 
    <a href="@Url.Action("Category", "Blog", new {id = 1})">ASP.Net MVC</a><br/> 
    <a href="@Url.Action("Category", "Blog", new {id = 2})">Ruby on Rails</a><br/> 
</p> 

我想動態創建這些鏈接,而不是硬編碼。

_Layout.cshtml

@Html.Partial("_Categories") 

的主要問題是沒有控制器部分的佈局這就是爲什麼我無法弄清楚如何去做。

在此先感謝您的幫助。

回答

3

BlogController(或新的CategoryController)中創建名爲ListCategories的控制器操作。通過從後端數據庫

public ActionResult ListCategories() 
{ 
    ViewBag.Categories = db.Categories; 
} 

查詢他們添加的所有類別的行動ViewBag和使用@foreach循環視圖的動作ListCategories.cshtml

<h2>Categories</h2> 
<hr/> 
<p> 
    @foreach(Category c in ViewBag.Categories) 
    { 
     <a href="@Url.Action("Category", "Blog", new { id = c.Id })">@c.Name</a><br/> 
    } 
</p> 

最後,更改_Layout.cshtml指向這個動作:

@Html.Action("ListCategories") 
// or @Html.Action("ListCategories", "CategoryController") 
+0

謝謝你的工作完美。 – 2013-03-24 18:53:42

相關問題