Asp.net mvc 设计实践-使用ASP.NET MVC的多个页面
对于需要大量非模型相关页面的MVC类型站点,是否有特定的设计实践?我的意思是,为每一个页面做一个控制器动作似乎很愚蠢;但与此同时,这似乎是现实地做到这一点并遵守标准的唯一途径。有没有类似的文档或示例Asp.net mvc 设计实践-使用ASP.NET MVC的多个页面,asp.net-mvc,Asp.net Mvc,对于需要大量非模型相关页面的MVC类型站点,是否有特定的设计实践?我的意思是,为每一个页面做一个控制器动作似乎很愚蠢;但与此同时,这似乎是现实地做到这一点并遵守标准的唯一途径。有没有类似的文档或示例 当我提到非模型页面时,我指的是仅仅显示的东西;可以使用标准HTML网站布局的静态信息。但它必须与网站中需要模型和验证的其他部分混合使用。为静态内容创建一个文件夹,并为这些页面设置一个忽略路径。这将导致这些页面直接传递到IIS以立即显示 routes.IgnoreRoute("StaticPages/
当我提到非模型页面时,我指的是仅仅显示的东西;可以使用标准HTML网站布局的静态信息。但它必须与网站中需要模型和验证的其他部分混合使用。为静态内容创建一个文件夹,并为这些页面设置一个忽略路径。这将导致这些页面直接传递到IIS以立即显示
routes.IgnoreRoute("StaticPages/{*path}");
你也可以。这将保留您在同一页面中处理动态内容的能力。我认为对每个页面进行操作听起来一点也不傻。这就是MVC的工作原理 正如Robert Harvey所建议的那样,您可以忽略某些路由,但这样一来,静态页面上就有了*.html扩展名,而内部页面上就没有了*.html扩展名,您将无法使用
Url.
和html.
帮助器方法来链接到MVC操作
我认为您应该顺其自然。对于常见的静态文件(如帮助页面),建议使用另一种替代方法,这种方法更多地基于命名约定,但允许视图中的布局控制具有一定的灵活性:
但是如果需要的话,这些页面不能包含来自控制器的任何模型数据,对吗?所以假设我想要一些指向这些路径的友好URL;有什么方法可以合并它吗?您需要使用路由引擎来实现这一点。但是,如果要提供静态页面,只需编写一个简单的控制器或控制器/视图组合,从文件返回HTML,而不是实际的视图。