我已经得到.Net MVC3来处理.html(以及其他自定义扩展)就像一个.cshtml文件,但VS2010不会突出显示Razor语法或显示Intellisense。如何让VS2010将.html文件识别为.cshtml?
答案 0 :(得分:2)
这并不容易。如果您看到asp.net mvc 3 source,则可以在webpages文件夹中看到下一步:
文件: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。如果你想做类似的事情你可能需要下载源代码,编辑它们并构建自定义库,但它的时间非常昂贵。也许你可以通过其他方式问你问题,我希望能为你的问题提供更好的解决方案。