【问题标题】:Does cshtml files exist in ASP.NET MVC 2?ASP.NET MVC 2 中是否存在 cshtml 文件?
【发布时间】:2011-12-13 12:49:34
【问题描述】:

我目前正在学习 ASP.NET MVC,并且正在研究显示和编辑器模板的概念。我正在阅读 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 的情况下构建自定义模板?

【问题讨论】:

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


    【解决方案1】:

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

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

    希望这会有所帮助

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        经过一些研究,并阅读了来自@dknaack 和@ashok 的一些链接,我发现我仍然可以使用MVC 2 View User Controls(即.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>
        <%} %>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-11-05
          • 2013-12-22
          • 1970-01-01
          • 2010-10-31
          • 1970-01-01
          • 1970-01-01
          • 2022-07-26
          • 2016-10-09
          相关资源
          最近更新 更多