Asp.net mvc 设计实践-使用ASP.NET MVC的多个页面

Asp.net mvc 设计实践-使用ASP.NET MVC的多个页面,asp.net-mvc,Asp.net Mvc,对于需要大量非模型相关页面的MVC类型站点,是否有特定的设计实践?我的意思是,为每一个页面做一个控制器动作似乎很愚蠢;但与此同时,这似乎是现实地做到这一点并遵守标准的唯一途径。有没有类似的文档或示例 当我提到非模型页面时,我指的是仅仅显示的东西;可以使用标准HTML网站布局的静态信息。但它必须与网站中需要模型和验证的其他部分混合使用。为静态内容创建一个文件夹,并为这些页面设置一个忽略路径。这将导致这些页面直接传递到IIS以立即显示 routes.IgnoreRoute("StaticPages/

对于需要大量非模型相关页面的MVC类型站点,是否有特定的设计实践?我的意思是,为每一个页面做一个控制器动作似乎很愚蠢;但与此同时,这似乎是现实地做到这一点并遵守标准的唯一途径。有没有类似的文档或示例


当我提到非模型页面时,我指的是仅仅显示的东西;可以使用标准HTML网站布局的静态信息。但它必须与网站中需要模型和验证的其他部分混合使用。

为静态内容创建一个文件夹,并为这些页面设置一个忽略路径。这将导致这些页面直接传递到IIS以立即显示

routes.IgnoreRoute("StaticPages/{*path}"); 

你也可以。这将保留您在同一页面中处理动态内容的能力。

我认为对每个页面进行操作听起来一点也不傻。这就是MVC的工作原理

正如Robert Harvey所建议的那样,您可以忽略某些路由,但这样一来,静态页面上就有了*.html扩展名,而内部页面上就没有了*.html扩展名,您将无法使用
Url.
html.
帮助器方法来链接到MVC操作


我认为您应该顺其自然。

对于常见的静态文件(如帮助页面),建议使用另一种替代方法,这种方法更多地基于命名约定,但允许视图中的布局控制具有一定的灵活性:


但是如果需要的话,这些页面不能包含来自控制器的任何模型数据,对吗?所以假设我想要一些指向这些路径的友好URL;有什么方法可以合并它吗?您需要使用路由引擎来实现这一点。但是,如果要提供静态页面,只需编写一个简单的控制器或控制器/视图组合,从文件返回HTML,而不是实际的视图。