我已经让 .Net MVC3 像处理 .cshtml 文件一样处理 .html(和其他自定义扩展名),但 VS2010 不会突出显示 Razor 语法或为其显示 Intellisense。如何让 VS2010 将 .html 文件识别为 .cshtml?
问问题
837 次
1 回答
2
这并不容易。如果您看到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 中很深。如果您想做类似的事情,您可能需要下载源代码、编辑它们并构建自定义库,但这非常耗时。也许你可以通过其他方式问你问题,我希望有更好的解决方案来解决你的问题。
于 2012-08-09T19:31:33.690 回答