ASP.NET MVC 2中是否存在cshtml文件?

时间:2011-12-13 12:49:34

标签: c# .net asp.net-mvc-2 razor

我正在学习ASP.NET MVC,并且正在研究Display和Editor Templates的概念。我正在撰写Scott Mitchell关于Using Templates to Display Boolean Values as Yes/No Options的帖子。在其中,Scott使用共享文件夹中的.cshtml文件来存储可重用的界面模板。

我找不到在Visual Studio 2008 / ASP.NET MVC 2中创建.cshtml文件的方法。它们只是ASP.NET MVC 3吗?是否有办法在不升级到ASP.NET MVC 3的情况下构建自定义模板?

3 个答案:

答案 0 :(得分:3)

cshtml个文件是剃须刀视图。 Razor视图引擎是Asp.NET MVC 3(仅限Visual Studio 2010)的一部分,是的。

更多信息:Introducing “Razor” – a new view engine for ASP.NET

希望这会有所帮助

答案 1 :(得分:2)

类似SO帖子here 这是一个blog post可以帮助你让Razor使用MVC 2.注意这是从2010年开始。 至少有几个第三方视图引擎,包括NHAML和SparkView。我相信这些应该适用于MVC 2。 以下是Stephen Walther网站上的链接:comparison of view enginesNHAML

答案 2 :(得分:0)

经过一些研究,并阅读了@dknaack和@ashok的一些链接,我发现我仍然可以使用MVC 2查看用户控件(即.ascx文件)在MVC 2中创建自定义模板。 Scott博客中与.cshtml类似的.ascx文件如下所示:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<% if(ViewData.Model is bool && ((bool)ViewData.Model) == true)
   { %>
   <div>Yes</div>
<%}else{ %>
   <div>No</div>
<%} %>