我已经让 .Net MVC3 来处理 .html (和其他自定义扩展),就像处理 .cshtml 文件一样,但 VS2010 不会突出显示 Razor 语法或显示它的 Intellisense。如何让 VS2010 将 .html 文件识别为 .cshtml?
这并不容易。如果你看到asp.net mvc 3 源 http://aspnet.codeplex.com/releases,您可以在网页文件夹中看到接下来的内容:
文件: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中的扩展逻辑非常深入。如果您想做类似的事情,您可能需要下载源代码、编辑它们并构建自定义库,但这非常耗时。也许你可以通过其他方式问你的问题,我希望有更好的解决方案来解决你的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)