我们有一个网页设计项目。在这个项目中,我们有区域来分隔Admin文件,这对我们所有的网站都是一样的。我们希望在UI项目中有多个主题,但每个主题都应该有自己的控制器和视图,用于选择和显示此主题的数据。我们不想为每个网站复制项目,因为只有UI,控制器,视图和主题HTML文件是不同的。我们希望为每个网站创建一个文件夹,其中包含控制器,视图和主题,以及选择哪一个是默认选项。 这可能吗?
答案 0 :(得分:0)
对这类东西使用子操作。例如:
<强> SomeController.cs 强>
[ChildActionOnly]
public PartialViewResult News()
{
var news = repo.News.GetLatest();
return PartialView(news);
}
<强> News.cshtml 强>
@model IEnumerable<NewsItem>
<ul>
foreach (var item in Model)
{
<li>@item.Title</li>
}
</ul>
<强> _Layout.cshtml 强>
@Html.Action("News", "SomeController")
这只是一个快速而肮脏的例子,但这里的想法是,现在你的“新闻”与当前的控制器/动作脱钩了。如果您想在一个布局中添加新闻,只需将该调用添加到Html.Action
,如果您不想在一个布局中添加新闻,请将其删除。