为多个网站单独的UI文件

时间:2014-02-20 15:45:06

标签: asp.net-mvc user-interface themes

我们有一个网页设计项目。在这个项目中,我们有区域来分隔Admin文件,这对我们所有的网站都是一样的。我们希望在UI项目中有多个主题,但每个主题都应该有自己的控制器和视图,用于选择和显示此主题的数据。我们不想为每个网站复制项目,因为只有UI,控制器,视图和主题HTML文件是不同的。我们希望为每个网站创建一个文件夹,其中包含控制器,视图和主题,以及选择哪一个是默认选项。 这可能吗?

1 个答案:

答案 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,如果您不想在一个布局中添加新闻,请将其删除。