Asp.net mvc 2 .NETMVC项目的结构

Asp.net mvc 2 .NETMVC项目的结构,asp.net-mvc-2,structure,asp.net-mvc-3,Asp.net Mvc 2,Structure,Asp.net Mvc 3,我正在建立一个新的项目,并希望有一些关于它的提示,所以它将从一开始就做好 简单地说,这是我的项目: 将有一些关于/信息页面:关于我们,联系方式,如何。。然后创建AboutController是一种好的做法,还是应该为每个页面创建单独的控制器 将有一个需要登录的成员区域。为它创建一个区域是一个好主意吗? 可能像:xxx.com/member/stuff/edit/1 然后我是否需要创建一个“常规”区域,或者我是否可以在根目录中添加“About”,例如:xxx.com/About/contact而不

我正在建立一个新的项目,并希望有一些关于它的提示,所以它将从一开始就做好

简单地说,这是我的项目:

  • 将有一些关于/信息页面:关于我们,联系方式,如何。。然后创建AboutController是一种好的做法,还是应该为每个页面创建单独的控制器

  • 将有一个需要登录的成员区域。为它创建一个区域是一个好主意吗? 可能像:xxx.com/member/stuff/edit/1

  • 然后我是否需要创建一个“常规”区域,或者我是否可以在根目录中添加“About”,例如:xxx.com/About/contact而不是xxx.com/general/About/contact

  • 母版页呢。登录时和未登录时,页面将非常相似。为此使用两个母版页,并尝试将代码(如页脚和菜单)与部分代码一起重用,这是一种好的做法吗

  • 我只在MVC2上做过一点工作,对于这样一个全新的项目,不使用MVC2 RC是愚蠢的吗

  • 非常感谢您的回答或建议。 多谢各位

    将有一些关于/信息页面: 关于我们,联系方式,如何。。好吗 练习,然后创建一个 关于控制器或者我应该做什么 每个页面是否有单独的控制器

    我通常有一个Home或About(或两者)控制器来容纳这些页面。通常不需要单独的控制器。在我的大多数站点中,这些几乎都是不接受POST的静态内容页,因此控制器非常精简

    将有一个成员区 需要登录。这是个好主意吗 为此创建一个区域

    这个决定很主观。我建议,如果你不清楚什么时候以及为什么需要一个区域,那么就不要使用它。另外,如果您的应用程序的唯一区域有我们的登录成员,而没有,那么似乎不需要这些区域

    然后我需要创建一个 “一般”区域还是我可以把 根中的“关于”

    在根部,这是“一般”区域

    母版页呢。页面将显示 登录时看起来非常相似, 当没有的时候。这是个好习惯吗 为此创建两个母版页,然后重试 重用代码(如页脚和 菜单)和partials

    在这种情况下,我不使用两个主控键。我的大多数网站的所有变化都是一些标题内容(存在登录或注销链接)

    我所做的是创建一个Html帮助程序,有条件地呈现一个控件或另一个控件:

    public static class PackageThumbnailHelper
    {
        public static MvcHtmlString AuthenticationControls(this HtmlHelper helper)
        {
                    if (helper.ViewContext.HttpContext.Request.IsAuthenticated) {
                        return helper.Partial(MVC.Shared.Views.LoggedOnAuthenticationControls);
                    } else {
                        return helper.Partial(MVC.Shared.Views.NotLoggedOnAuthenticationControls);
                    }
        }
    }
    
    我在MVC上只做了一点工作 2,不使用MVC2是愚蠢的吗 像这样的全新项目的RC


    MVC2?MVC3怎么样?MVC3最近发布了。它包括Razor视图引擎,因此我认为它绝对值得使用。我认为没有理由不在新项目中使用MVC3。

    谢谢您的回答。我在你回答之前就开始了这个项目,我和一个家庭控制器一起做一般的事情。不过,我确实创建了一个成员区域,现在我有2个母版页。这给我带来了一些问题,所以我正在考虑删除一个。我的意思是MVC3RC,而不是MVC2:)是的,我去了,Razor是如此的好用!同样,验证也更好。谢谢