Razor的使用

Posted 水墨晨诗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Razor的使用相关的知识,希望对你有一定的参考价值。

1、引用对象模型

@model Razor.Models.Product
如果一个视图页是一个强类型视图,那么就会在该视图页的最上方对需要的视图模型进行引用

2、使用视图包

在控制器中,先给试图包赋值
public Action Index(){
    ViewBag.ApplyDiscount=false;
}

在视图页中使用
<div data-discount="@ViewBag.ApplyDiscount">
            @ViewBag.ApplyDiscount
</div>

 

3、使用视图模型

    <div>
        @Model.Name
    </div>
在视图页中使用视图模型

4、使用布局页

@{
    ViewBag.Title = "Product Name";
    Layout = "~/Views/_BasicLayout.cshtml";
}
如果Layout不做任何声明(不写),那么会默认调用_ViewStart.cshtml布局文件。
如果不想引用任何布局页,那么就设置为null。

5、使用条件语句

技术分享图片
<tr>
        <td>Stock Level</td>
        <td>
            @switch ((int)@ViewBag.ProductCount)
            {
                case 0://如果不想被razor翻译成C#语言,可以使用@:
                    @:Out of Stock
                    break;
                case 1:
                <b>Low Stock(@ViewBag.ProductCount)</b>
                    break;
                default:
                @ViewBag.ProductCount
                    break;
            }

        </td>
    </tr>
使用条件语句

6、使用枚举

技术分享图片
model Razor.Models.Product【】

@if(Model.Length>0){
    <table>
        <th>Product</th><th>Price</th>
        @foreach (var item in Model){ 
            <tr>
                <td>@item.Name</td>
                <td>@item.Price</td>        
        </tr>
        }
    </table>
}
else { 
<h2>No product data</h2>
}
使用枚举

7、处理命名空间

@using Razor.Models
@model Product[]


一个页面中可以使用多个using

 



以上是关于Razor的使用的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Razor——ASP.NET Razor - C#代码语法

十:Razor语法

如何使用 ? : 带有 Razor 和内联代码块的 if 语句

[@ Razor View中的@代码标记抛出编译器错误

Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter

Razor视图引擎