首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MVC 3 Razor - 如何阻止视图引擎搜索aspx和ascx页面?

关于MVC 3 Razor - 如何阻止视图引擎搜索aspx和ascx页面?

首先,我们需要了解MVC 3 Razor是一种基于ASP.NET的Web开发框架,它使用Razor作为视图引擎,用于将视图模型渲染为HTML。

要阻止视图引擎搜索aspx和ascx页面,可以通过以下方法:

  1. 修改视图引擎的配置:

在MVC项目的Web.config文件中,找到以下配置节点:

代码语言:xml<system.web.webPages.razor>
复制
 <pages pageBaseType="System.Web.Mvc.WebViewPage">
   <namespaces>
      <!-- 添加其他需要的命名空间 -->
    </namespaces>
  </pages>
</system.web.webPages.razor>

<pages>节点中添加pageBaseType属性,并将其设置为System.Web.Mvc.WebViewPage,这样视图引擎将只搜索Razor视图文件,而不会搜索aspx和ascx文件。

  1. 自定义视图引擎:

可以通过自定义视图引擎来实现阻止搜索aspx和ascx文件的功能。首先,需要创建一个自定义的视图引擎类,继承自RazorViewEngine,并重写FindViewFindPartialView方法,以便在查找视图时只搜索Razor视图文件。

代码语言:csharp
复制
public class CustomRazorViewEngine : RazorViewEngine
{
    public CustomRazorViewEngine()
    {
        // 修改视图文件的扩展名
        ViewLocationFormats = new[]
        {
            "~/Views/{1}/{0}.cshtml",
            "~/Views/Shared/{0}.cshtml"
        };

        PartialViewLocationFormats = new[]
        {
            "~/Views/{1}/{0}.cshtml",
            "~/Views/Shared/{0}.cshtml"
        };
    }
}

然后,在MVC项目的Global.asax文件中,将默认的视图引擎替换为自定义的视图引擎:

代码语言:csharp
复制
protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    // 注册自定义视图引擎
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new CustomRazorViewEngine());

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
}

这样,视图引擎将只搜索Razor视图文件,而不会搜索aspx和ascx文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

),然后再由index.aspx页面来呈现给用户。   ...aspxascx文件被用来处理视图的职责; C: Controller 处理用户交互,从Model中获取数据并将数据传给指定的View;   (1)MVC作为架构模式的理解 ?   ...从传统三层架构上来看,ViewController都属于UI层,而Model则横跨BLL与DAL层。   (2)MVC作为表现模式的理解 ?   (3MVC架构模式综合模型 ?   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...四、第一个ASP.Net MVC程序 4.1 新建项目后的文件组织结构   (1)新建一个ASP.Net MVC 4项目,选择“基本”配置与“ASPX视图引擎(暂时不用Razor引擎)。

2K30

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据...(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。   ...aspxascx文件被用来处理视图的职责; C: Controller 处理用户交互,从Model中获取数据并将数据传给指定的View;   (1)MVC作为架构模式的理解   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...四、第一个ASP.Net MVC程序 4.1 新建项目后的文件组织结构   (1)新建一个ASP.Net MVC 4项目,选择“基本”配置与“ASPX视图引擎(暂时不用Razor引擎)。

87720

探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御异步分部视图的处理

6.Razor的简单接触(内含XSS防御) 初次接触XSS: http://www.cnblogs.com/dunitian/p/5286772.html 说下HtmlJavascript的Xss防御...下面说下URL的XSS防御:(这个主要是一些自定义的模板引擎或者静态页面或者Aspx页面需要当心) 原理说一下:比如你是一个接受用户的超链接:<a href="http://www.dkill.net?...如果你的<em>视图</em>是<em>aspx</em>的记得过滤HTML,JS,URL哦~基本上问题都出在这 7.布局系列 1._ViewStart <em>MVC</em>5以前都是要手动引用”母版页“ ?...<em>3</em>.@RenderBody() 呈现子页的主体内容 ? ?...好吧,举个例子,具体的不在本文研究之中,可以自信<em>搜索</em>或者关注后续的文章 ? 步入正轨,继续我们的分部<em>视图</em>讲解: 控制器部分: ? <em>视图</em>: ? 调用: ?

2.2K70

@helper的使用

、前言 最近翻到一篇Scott的旧文,觉得挺不错的,就试着翻译了一下,文章主要是说如何Razor中使用@helper语法定义可复用的视图模板方法。...如有疏漏,还请请各位看官指点一二~ 原文地址:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx...2、正文 Asp.net MVC 3提供了一个全新的视图引擎(View-engine)叫做Razor(同时也继续提供并增强了对现有的.aspx视图引擎的支持)。...Razor最大程度的减少了编写视图模板(译者注:前端页面)时需要输入的字符数键盘敲击次数,提供了一个快速流畅的编码体验。...与大多数模板语言不同,使用Razor你不在需要使用一些开始关闭标记来打断你的编码(译者注:像aspx的),Razor的语法分析器能够智能的识别代码。

1.1K10

ASP.NET MVC5高级编程——(2)MVC模式的视图Razor引擎

MVC框架请求流程图: ? WebFrom请求的是aspx页面,而MVC请求的是Action。 WebFrom页面逻辑的控制都在页面绑定的.cs文件,而MVC页面逻辑的控制都在Action。...MVC是表现模式,而三层是架构模式。如图所示: ? Razor引擎ASPX引擎MVC5已经不支持)的区别: Razor引擎视图文件后缀名为.cshtml): ?...ASPX引擎也称为Web Form视图引擎,使用 ASP.NET Web Form 的“” 标签语法,维持了与旧版MVC应用程序的兼容性。...Razor引擎由.NET MVC3 版本引入,语法简单而雅致,最明显的变化是用“@”替代“”。创建项目时,两种视图引擎只能选其一。...2.2 Razor视图引擎 ASP.NET MVC中提供了两种不同的视图引擎:较新的Razor视图引擎较早的WebForms视图引擎

3.5K50

ASP.NET MVC的View是如何被呈现出来的?

一种是传统的Web Form引擎,由于该引擎下View的设计与我们定义.aspx页面一致,又称为ASPX引擎。另外一种则是本书默认采用同时也是推荐使用的Razor引擎。...提到View,很多ASP.NET MVC的开发人员可能首先想到的就是定义UI界面的.aspx文件(Web Form引擎)或者.cshtml/.vbhtml文件(Razor引擎)。...由于WebFormViewEngine排在RazorViewEngine之前,所以前者会被优先使用,这可以从上面两张截图所示的搜寻位置列表看出来(先搜索.aspx.ascx,再搜索.cshtml.vbhtml...View的获取呈现,其实当我们调用HtmlHelper的扩展方法Partial将指定的Partial View的HTML呈现出来时,内部调用View引擎的方式与之类 ASP.NET MVC的View是如何被呈现出来的...[设计篇] ASP.NET MVC的View是如何被呈现出来的?[实例篇]

1K80

正式开始学习ASP.NET Core 6 Razor Pages 介绍

ASPX页面包含HTML并控制可视部分。后台代码类包含处理页面事件的服务器端c#或可视基本代码。 例如,如果您有一个名称为WebForm1的WebForm。...它实际上是一对文件-WebForm1.aspx(显示模板)WebForm1.aspx.cs(代码隐藏类)。 类似地,每个Razor Pages也是一对文件:.cshtml.cshtml.cs。...该视图包含表示逻辑,以显示控制器提供的模型数据。 在MVC中,除了Model,ViewController外,我们还有ActionsViewModels。...由于PageModel类显示模板位于一个位置并且彼此密切相关,因此使用 Razor Pages 构建单个页面非常简单,同时仍使用ASP.NET Core MVC的所有体系结构功能,例如依赖项注入,中间件组件...学习什么Razor Pages或MVC 我个人认为ASP.NET Core 开发人员必须同时具备这两项技能-Razor PagesMVC

3.6K10

.NET Core中使用Razor模板引擎

一、简介  在MVC以外的场景中,我们往往需要完成一些模板引擎生成代码或页面的工作;在以前我们一般常用的有Razor、NVeocity、VTemplate。...虽然所有的模板系统都具有一些共同特征,但 Razor却和我们前面讨论的二种视图引擎截然不同。不同于其它视图引擎Razor在使用XML代 码方面没有走得那么极端。...一般情况下使用Razor作为视图引擎要实现如下步骤:   (1)读取模板文件 -> (2)生成Raozr的C#代码 -> (3)使用Roslyn编译代码生成程序集 -> (4)动态加载程序集 -> (5...二、非Mvc中使用Razor   我们一般在使用Razor时都是在ASP.NET MVC中使用.cshtml来作为模板,由ASP.NET MVC视图引擎(ViewEngine)来生成页面的代码的,总之...3.编译模板 一般Razor的C#代码生成后,都是通过CodeDom来生成编译代码的;.NET开源后,我们又多了一个强大的选择Roslyn , Roslyn也是支持.NET Core的,并且在整个.

2.3K30

Pro ASP.NET MVC –第五章 使用Razor「建议收藏」

Razor是微软在MVC3中引入的视图引擎的名字,在MVC4中对其进行了改进(尽管改动非常小)。视图引擎处理ASP.NET内容、寻找指令,典型地用于插入动态数据并输出到浏览器中。...微软维持了两个视图引擎——ASPX视图引擎工作与标签,ASP.NET已经依赖它多年;RAZOR引擎工作与@字符后的内容块上。...表达式 现在,我们已经展示了视图布局的基本使用方法,接下来我们将把注意力集中到Razor所支持的各种表达式上并了解如何使用这些表达式。...总结 在本章,我们概览了Razor视图引擎,已经如何使用它来生成HTML。...我们还为你展示了如何通过视图模型对象Viewbag对象引用控制器传递过来的数据,此外我们还介绍了如何使用Razor表达式呈现数据。

2.9K20

使用ASP.NET实现Model View Presenter(MVP)

主要的变化是Presenter实现MVC的Observer设计,基本设计MVC相同:Model存储数据,View表示Model的表现,Presenter协调两者之间的通信。...单元测试中创建的第一个对象实例是MockCurrentTimeView,从这个单元测试中可以看出,所有的表现逻辑的单元测试并没有一个ASPX页面(View),所需要的是一个实现视图接口的对象;因此可以创建一个视图的模拟对象...我们已经从创建ASPX页面到一个Presenter类,一个View接口一个单元测试类……,我们获得的好处是对Presenter的单元测试,也就是很容易的对后置代码页面进行单元测试。...将消息传递到View l MVPPageMethods的页面重定向:这个主题讨论使用用户控件作为View,如何使用PageMethods处理页面重定向。...使用MVP,用户控件用于封装View,ASPX作为 “View Initializers”页面的重定向。扩展上面的例子,只要修改ASPX页面的实现。

1.1K80

ASP.NET Core MVC 概述

模型-视图-控制器 (MVC) 体系结构模式将应用程序分成 3 个主要组件组:模型、视图控制器。 此模式有助于实现关注点分离。...在 MVC 模式中,控制器是初始入口点,负责选择要使用的模型类型要呈现的视图(因此得名 - 它控制应用如何响应给定请求)。 备注 控制器不应由于责任过多而变得过于复杂。...功能 ASP.NET Core MVC 包括以下功能: 路由 模型绑定 模型验证 依赖关系注入 筛选器 区域 Web API 可测试性 Razor 视图引擎 强类型视图 标记帮助程序 视图组件 路由 ASP.NET...它可让你定义适用于搜索引擎优化 (SEO) 链接生成的应用程序 URL 命名模式,而不考虑如何组织 Web 服务器上的文件。可以使用支持路由值约束、默认值可选值的方便路由模板语法来定义路由。...Razor 视图引擎 ASP.NET Core MVC 视图使用 Razor 视图引擎呈现视图Razor 是一种紧凑、富有表现力且流畅的模板标记语言,用于使用嵌入式 C# 代码定义视图

6.4K20

Razor语法

Razor作为一种全新的模板被MVC3WebMatrix使用。尽管目前还存在一定性能上面的问题,但一直不喜欢WebForm标签式写法的人已经看到了福音。...1.开发工具   RazorMVC3中的一个视图模板引擎,所以,我们只需要在VS2010中安装一个MVC3的工具,就可以使用Razor了。   ...如果你不想使用MVC3,还有另外一种选择,那便是WebMatrix + VS 2010;WebMatrix提供了Razor模板的网站,但它并不是一个优秀的IDE,没有像VS一样的智能感知编辑时错误提醒功能...由此也可以看出,Razor其实是一种服务器代码HTML代码混写的代码模板,类似于没有后置代码的.aspx文件。   ...@* 这是一个注释 这个是注释 *@   OK,Razor的基础语法就讲到这里,我将在下一篇博文中讲解如何复用Razor代码,感谢您的关注,也希望这篇博文对您有所帮助

1.1K10

Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目

前言 在上一篇文章Asp.Net MVC3 简单入门第一季(一)环境准备中我简单介绍了Asp.Net MVC3项目的安装第一个Asp.Net MVC3项目的基本情况。...文件夹 作用 /Controllers 存放控制器类【职责是:处理用户的请求,指挥具体的页面进行渲染交给客户端】 /Views 存放各个控制器对应的视图文件,如果是Razor引擎的话那后缀是cshtml....如果使用的WebFrom的视图引擎的话,那还是Aspx后缀。...View:视图.负责数据的展示,当然这个视图代码的编写应该是更接近纯净的Html的,而View层代码的书写又直接跟视图引擎解析的规则有关,所以Razor的语法跟webFrom视图引擎的语法截然不同。...Controller的实例,然后调用InvokeAction方法,执行Index的方法,最终执行View()方法返回一个ViewResult实例,再调用自己的EexcuteResult方法,将数据上下文输出流交给视图引擎

93710

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一、天降神器“剃须刀” — Razor视图引擎 ? 1.1 千呼万唤始出来的MVC3.0   在MVC3.0版本的时候,微软终于引入了第二种模板引擎Razor。...在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎。   ...例如,我们可以在View中直接写C#代码输出日期 1 @DateTime.Now.ToString() 1.3 Razor语句块   (1)在Razor视图引擎中,我们可以使用@{code...页面输出特殊字符串   与在ASPX试图引擎中类似,如果要输出特殊字符串,还是借助HtmlHelper类提供的扩展方法来实现。   ...@test.AsInt() } 二、Controller深入详解 2.1 控制器的三个职责    (1)处理跟用户的交互   (2)处理业务逻辑的调用   (3)指定具体的视图显示数据,并且把数据传递给视图

1.8K30

Dotnet9网站回归Blazor重构,访问速度飞快,交互也更便利了!

先聊聊Razor Pages 上个版本网站前台使用的Razor Pages开发,当时选择这个技术栈主要是为了搜索引擎的SEO优化考虑。...关于MVCRazor Pages哪个更优, 我们这里只说说Razor Pages相对的优势。 首先,Razor Pages相对于MVC来说,更加简单直观。...由于Razor Pages将视图处理逻辑封装在同一个页面中,开发人员可以更容易地理解维护代码。...对于小型项目或者只有少量页面的应用来说,Razor Pages可以提供更快的开发速度更简洁的代码结构,这是站长当时从MVC重构成Razor Pages的主要选择理由。...其次,Razor Pages在SEO(搜索引擎优化)方面具有一定的优势。由于Razor Pages将视图处理逻辑封装在同一个页面中,搜索引擎可以更容易地理解索引页面的内容。

45230

Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline

看下面一张图,我们就能理解了WebFormAsp.Net MVC的一个关系了。...当然在Asp.Net WebFrom下,所有的请求都是归结到Handler上,普通的AspxAscx等都是继承自IHttpHandler接口的一些实例,所以我总结出来:WebFrom下所有的请求都是请求的...如果是.aspx或者ascx等直接交给默认设置了此处理项的AspNet_isapi.dll来处理,如果我们想处理Asp.Net MVC的请求的话,我们需要在IIS里面设置处理*....= null; if (View == null) { result = FindView(context);//通过视图引擎获取到...页面或者是cshtml页面生成对应的page类【针对Aspx】,然后再调用IView接口的Render方法将请求信息+ViewData的信息以等一块渲染成Html并写回到客户端。

58811
领券