2013-02-14 52 views
0

我目前通過調用對象控制器中的GetBreadcrumbs()方法在對象的Details頁面上生成麪包屑 - 在此方法中,該對象的父/祖父母用於生成無序列表。將HTML拉出控制器以遵循分離關注範式的最佳方式是什麼?這裏應該使用局部視圖嗎?在控制器中構造HTML - 如何重構?

回答

1

局部視圖的典型例子是方括號本身。例如,在你的控制器,你可以有

// 
//GET: News/Article/x 
public ActionResult Article(int id) 
{ 
    //get parentid of article 
    ViewBag.id = id; 
    ViewBag.parentid; 
    return View(); 
} 

所以,你的部分觀點將是如下:

@{ 
    ViewBag.Title = "Article"; 
} 

<h2>Viewing Article @ViewBag.parentid >> @ViewBag.id</h2> 
+0

謝謝。如果一篇文章有​​一個可能或不可能有父文章等的父文章會怎樣?循環父母的邏輯在哪裏? – user2062383 2013-02-14 18:15:38

+0

@ user2062383更新了我的答案... – 2013-02-14 18:18:53

+0

太棒了!再次感謝。 – user2062383 2013-02-14 18:21:35

0

您可以使用部分視圖或顯示模板。您的控制器應該只構建將傳遞給視圖的模型,然後在視圖內部使用顯示模板來構建基於模型的所需輸出。

+0

如果這一模型(即我傳遞到視圖)還包括所有的生成麪包屑所需的父對象? – user2062383 2013-02-14 18:16:47