Razor小案例

简介:

Model

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Razor.Models
{
    public class Product
    {
        public int ProductID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public string Category { set; get; }

    }
}

Controller

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Razor.Models;

namespace Razor.Controllers
{
    public class HomeController : Controller
    {
        Product myProduct = new Product 
        {
            ProductID = 1,
            Name = "Kayak",
            Description = "A boat for one person",
            Category = "Watersports",
            Price = 275M
        }; // 定义一个全局对象

        public ActionResult Index()
        {
            return View(myProduct);
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

View

@model Razor.Models.Product

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        @Model.Name
    </div>
</body>
</html>

增加_BasicLayout.cshtml

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    <div>
        <h1>Product Information</h1>
        <div style="padding: 20px; border: solid medium black; font-size: 20pt">
            @RenderBody()
        </div>
        <h2>Visit <a href="http://apress.com">Apress</a></h2>
    </div>
</body>
</html>

修改view

@model Razor.Models.Product

@{
    ViewBag.Title = "Product Name";
    Layout = "~/Views/_BasicLayout.cshtml";
}

@Model.Name

422101-20170531184444071-77036231.png

页面增加逻辑

@switch ((int)ViewBag.ProductCount)
{
    case 0:
        @: Out of Stock
    break;
case 1:
        <b>Low Stock (@ViewBag.ProductCount)</b>
        break;
default:
        @ViewBag.ProductCount
        break;
}

@if (ViewBag.ProductCount == 0)
{
    @:Out of Stock                
} else if (ViewBag.ProductCount == 1) {
    <b>Low Stock (@ViewBag.ProductCount)</b>
}
else
{
    @ViewBag.ProductCount
}

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6925466.html,如需转载请自行联系原作者
相关文章
C#Razor小笔记和某些细节
C#Razor小笔记和某些细节
114 0
|
JavaScript 前端开发 容器
|
Web App开发 前端开发 .NET
|
开发工具 IDE 前端开发
手把手教你写自定义HtmlHelper方法(Razor视图)
时间:2017-03-10 自定义HtmlHelper 在Models文件夹下新建一个类“MyHtmlHelper” 想法一: using System; using System.
1122 0
|
.NET 开发框架 前端开发
Razor基础语法
原文:Razor基础语法 一、介绍      Razor是ASP.NET MVC视图引擎的代号,支持.cshtml和.vbhtml两种模板文件,符号@标记服务端代码的开始,比以前asp.net的更加简洁   二、基本用法   1.
663 0
|
Web App开发 C# 数据库
Razor入门
    在学习MVC的时候,创建控制器总会看到默认的Razor:          然后,我们就可以在创建的视图里面这样写:       @* @Html.
1031 0

相关实验场景

更多