0

我是 mvc 的新手。我有一个网络表单应用程序,每个页面都有一个母版页。

母版页模板中有一个虚拟功能,每个页面的 page_load 我都在覆盖它。

现在我的项目中有 mvc 模式。我究竟应该把所有这些业务放在我的项目中的什么地方。

4

2 回答 2

2

在 MVC 中可以使用一些特殊的视图(假设您使用的是剃须刀)。

视图有_viewstart_layout(尽管可以命名为其他任何名称)。

所以基本上特定控制器的视图文件夹中的 _layout.cshtml 视图可以作为存在于同一文件夹中的视图的母版页,而共享文件夹中的 _layout.cshtml 视图可以作为所有视图的母版页。

要指定将特定视图用作母版页,请在视图内设置 Layout 变量。例如Layout = "~/Views/Shared/_layout.cshtml";

于 2013-07-26T09:54:54.507 回答
1

通常,母版页位于 Views 文件夹中的 Shared 文件夹中。

如果您有多个母版页,我建议您尽量减少相同的数量。

制作应在所有页面上调用的父母版页。

对于使用多个母版页,您可以执行以下操作

<script language="C#" runat="server">
    protected void Page_PreInit(object sender, EventArgs e)
    {
        if (User.IsInRole("Admin"))
        {
            this.MasterPageFile = "~/Views/Shared/Site2.Master";
        }
        else
        {
            this.MasterPageFile = "~/Views/Shared/Site.Master";
        }
    }

您也可以使用 ViewMasterPage.MasterPageFile 内置类

于 2013-07-26T11:26:57.597 回答