Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发。

ASP.NET MVC 5 Web编程4 -- Razor视图引擎

主导Razor开发的Scott Guthrie,毕业于美国杜克大学。现任微软云计算与企业级产品工程部执行副总裁。

Razor对传统aspx页面的写法和页面渲染能力提出了反思,所以它在代码书写和HTML生成方面都进行了优化。Rzaor的设计目标遵循以下几点:

a). 尽量减少代码

b). 上手快,只需要现有的编程语言和基本的HTML知识

c). 可以使用记事本编写

d). 便于单元测试

Rzaor视图引擎页面以.cshtml(或.vbhtml)文件后缀结尾,是ASP.NET MVC 5默认使用的页面展现形式。

Razor与.aspx视图引擎对比

为了有一个直观的认识,我们先来看一个简单的用户管理页面的实现:

ASP.NET MVC 5 Web编程4 -- Razor视图引擎

假定上图的页面呈现效果就是我们的最终目标。先来看Razor实现的页面:

@{
    Layout = null;
}

@model IEnumerable<MVC5Demo.Models.UserInfoViewModel>

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <link href="~/Content/bootstrap.min.css" rel="stylesheet" />
    <title></title>
</head>
<body>
    <div>
        @Html.ActionLink("新增", "Add", "UserInfo")
        <hr />
        <h3>用户信息列表</h3>
        <div class="table-responsive">
            <table class="table table-striped table-bordered">
                <thead>
                    <tr>
                        <th>姓名</th>
                        <th>性别</th>
                        <th>年龄</th>
                        <th>部门</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var item in Model) { 
                    <tr>
                        <td>@Html.DisplayFor(p => item.UserName)</td>
                        <td>@(item.Sex == 0 ? "" : "")</td>
                        <td>@Html.DisplayFor(p => item.Age)</td>
                        <td>@Html.DisplayFor(p => item.Dept)</td>
                        <td>@Html.ActionLink("编辑", "Edit", "UserInfo", new { id=item.UserID.ToString() },null) @Html.ActionLink("删除", "Delete", "UserInfo", new { id = item.UserID.ToString() }, new { onclick="return confirm('确认删除"+item.UserName+"的记录?');" })</td>
                    </tr>
                    }
                </tbody>
            </table>
        </div>

    </div>
</body>
</html>
View Code

相关文章:

  • 2022-02-07
  • 2021-04-13
  • 2021-09-22
  • 2021-09-18
  • 2021-08-10
猜你喜欢
  • 2021-11-26
  • 2022-03-02
  • 2021-09-05
  • 2022-12-23
  • 2021-12-14
  • 2021-07-08
  • 2021-06-11
相关资源
相似解决方案