asp.net-mvc - 我可以让 razor 将 .html 文件扩展名识别为自己的文件扩展名吗?

标签 asp.net-mvc razor

那么我可以使用设计器模式吗?我较少依赖 asp.net mvc html 助手,但并没有完全放弃它,而是选择使用纯 html(其中在设计模式下渲染应该没有问题)

这可能吗?

最佳答案

编写自己的 View 引擎

public class MyRazorViewEngine : RazorViewEngine 
{
    public MyRazorViewEngine() 
{
        base.AreaViewLocationFormats = new string[]
    {
    "~/Areas/{2}/Views/{1}/{0}.html", 
    "~/Areas/{2}/Views/Shared/{0}.html", 
        };
 ....

请参阅 System.Web.Mvc.RazorViewEngine 了解要包含的其余位置

然后在启动时注册

ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new MyRazorViewEngine()));
    RazorCodeLanguage.Languages["html"] = new CSharpRazorCodeLanguage();

并将以下内容添加到您的应用程序 web.config

<system.web>    
  <compilation debug="true" targetFramework="4.5" >
    <assemblies>
      <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </assemblies>
    <buildProviders>
      <add extension=".html"          type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/>
    </buildProviders>
  </compilation>
</system.web>

优点 - 您获得设计师模式,缺点 - 您失去所有 Razor 突出显示和智能感知

关于asp.net-mvc - 我可以让 razor 将 .html 文件扩展名识别为自己的文件扩展名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765932/

相关文章:

c# - 在 Razor 引擎中对 html 控件进行表单验证

c# - 使用 MVC/Razor 传递 C# 变量以与 Dygraph 一起使用

c# - VirtualPathProvider 等同于 ASP.NET 5/MVC6?

javascript - 即使在 Html Helper 中提供日期格式后,MVC 也会抛出验证错误

c# - 带有 Html Helper 的条件 html 属性

c# - 给 session 赋值,给对象引用未设置到MVC中对象异常的实例

c# - ASP.NET MVC 将 List<Foo> 集合从我的 View 发送到 Controller

c# - 更改方法,从仅将字符串转换为字符串和 int

asp.net-mvc - 我可以在局部 View 中使用局部 View 吗?

jquery - 如何在 Kendo Chart 中制作自定义工具提示?