【问题标题】:Can I view .html files using Razor Intellisense as if they were .cshtml files in Visual Studio 2010?我可以使用 Razor Intellisense 查看 .html 文件,就好像它们是 Visual Studio 2010 中的 .cshtml 文件一样?
【发布时间】:2012-05-10 02:12:40
【问题描述】:

我已经让 .Net MVC3 像处理 .cshtml 文件一样处理 .html(和其他自定义扩展名),但 VS2010 不会突出显示 Razor 语法或为其显示 Intellisense。如何让 VS2010 将 .html 文件识别为 .cshtml?

【问题讨论】:

  • 感谢@Valamas,但没有雪茄。通过在 Text Editor -> File Extension 中添加我的扩展名已经尝试过了,但在 Editor 下拉菜单中没有显示选项突出显示 Razor 代码。
  • 这是我的问题。在 .html 文件中使用 razor 语法而不只是将扩展名更改为 .cshtml 有什么目的?

标签: asp.net-mvc-3 visual-studio-2010 razor intellisense


【解决方案1】:

这并不容易。如果您看到asp.net mvc 3 source,您可以在网页文件夹中看到接下来的内容:

文件:RazorDebugHelpers.cs

// Trim the html part of cshtml or vbhtml
string outputExtension = extension.Substring(0, 3);

文件:RazorCodeLanguage.cs

private static IDictionary<string, RazorCodeLanguage> _services = new Dictionary<string, RazorCodeLanguage>(StringComparer.OrdinalIgnoreCase) {
        { "cshtml", new CSharpRazorCodeLanguage() },
        { "vbhtml", new VBRazorCodeLanguage() }
    };

文件:PreApplicationStartCode.cs

WebPageHttpHandler.RegisterExtension("cshtml");
WebPageHttpHandler.RegisterExtension("vbhtml");

等等。

我想说什么?扩展逻辑在 mvc 中很深。如果您想做类似的事情,您可能需要下载源代码、编辑它们并构建自定义库,但这非常耗时。也许你可以通过其他方式问你问题,我希望有更好的解决方案来解决你的问题。

【讨论】:

    猜你喜欢
    • 2011-07-03
    • 2011-08-27
    • 2018-03-23
    • 2016-03-16
    • 2012-09-26
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多