美文网首页
六、Orchard Core入门:通过Razor页面方式构建网站

六、Orchard Core入门:通过Razor页面方式构建网站

作者: 老哥深蓝 | 来源:发表于2019-04-21 22:46 被阅读0次

    Orchard Core支持从Asp.net Core的RazorPages方法,通过视图层驱动整个网站
    当前模式下OrchardCore默认只保护/Admin/区域,进行后台数据管理。前端由Razor视图驱动。

    1、在新建立的OrchardCore项目中,新建wwwroot和Pages文件夹

    • Pages 文件夹:创建 Razor 页面和支持文件。
      - 每个 Razor 页面都是一对文件:.cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。.cshtml.cs 文件,其中包含处理页面事件的 C# 代码。
      - 支持文件的名称以下划线开头。 例如:_Layout.cshtml 文件。
    • wwwroot 文件夹:存放静态文件,如 HTML 文件、JavaScript 文件和 CSS 文件。 这些文件可以直接运行时被调用,比如:新建一个index.html文件,在运行使用文件名可能直接呈现。

    2、在Pages文件夹建立index.cshtml文件,这是你网站默认的页面。注意:在页面的开始输入@page才可以正确调用。

    @page
    @section Header{
    Header内容....
    }
    <h1 >Content内容</h1>
    @{
      var projects = await Orchard.GetRecentContentItemsByContentTypeAsync("Project",6);
    }
    <ul>
      @foreach (var project in projects)
      {
        <li>
          @project
          @Html.Raw(project.Content.HtmlBodyPart.Html)
        </li>
      }
    </ul> 
    

    3、在Pages文件夹下建立Shared文件夹,在其下建立支持文件_layout.cshtml,这是母版文件。

    <!-- 通过inject直接视图注入OrchardCore相应服务 -->
    @inject OrchardCore.IOrchardHelper Orchard
    <!DOCTYPE html>
    <html lang="@Orchard.CultureName()"><!-- 直接使用OrchardCore后端数据 -->
    
    <head>
      <meta charset="utf-8">
      <title>OrchardCore</title>
      <!-- 可以直接调取wwwroot文件夹下的内容-->
      <link href="css/main.css" rel="stylesheet">
    </head>
    
    <body dir="@Orchard.CultureDir()">
      @RenderSection("Header",required: false)
     @RenderBody()
    </body>
    </html>
    

    4、在Pages文件夹下建立_ViewStart.cshtml和_ViewImports.cshtml文件,视图页面在渲染时会默认先渲染当前文件夹下的这两个文件。

    //_ViewImports 引入命名空间等方面
    @inject OrchardCore.IOrchardHelper Orchard
    @addTagHelper *, OrchardCore.Media
    
    //_ViewStart与_layout相似
    //只要文件夹下存在ViewStart.cshtml,在页面执行之前都会先执行_ViewStart,
    //_Layout.cshtml不引用不会执行
    @{
        Layout="_layout";
    }
    
    
    

    相关文章

      网友评论

          本文标题:六、Orchard Core入门:通过Razor页面方式构建网站

          本文链接:https://www.haomeiwen.com/subject/uylsgqtx.html