MVC--Razor(1)

一,简介

Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中

基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

二,简单语法

就以C#和html为例,他的语法非常简单,@启动的区域为标准的C#代码,其他部分是普通的html代码。

用法:

1.@{C#代码块}

@{string a= "abc";}

@a

<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
        @{ string s = "rupeng"; }<br/>
        abc@s.achx<br />
        @s<br />
        @s.Length;<br />
    </body>
</html>

输出的结果如下:@后边是C#的语句,需要遵循C#的规则,但是如果@后不符合C#的语法,会被默认为html语句。若是将“abc@s.achx”修改为“abc@(s).achx”,则s就是输出字符串,就不会是@s。

2.@Model

@Mdel.dog.Name

 public class TestController : Controller
    {
        // GET: Test
        public ActionResult Index(IndexModel model)
        {
            model.Result = model.Num1 + model.Num2;
            return View(model);
        }
    }
@model WebApplication3.Models.IndexModel
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>    
    <form action="/Test/Index" method="post">
            Num1:<input type="text" name="Num1" value="@Model.Num1" />+
            Num2:<input type="text" name="Num2" value="@Model.Num2" />
            <input type="submit" value="=" />
            <span>@Model.Result</span>
        </form>
</body>
</html>

结果如下图,开始两个text默认值为0;点击等于按钮没请求了index,进行了加法运算,将结果返回回来了,又一次验证@后边跟C#语句。

4.@if(),@foreach等C#语句

下面的代码是不可行的,错误的,纯文字会被识别为C#代码。

if(Model.IsOK)
{
    我想输出一段文字;
}

如果想要输出大量的文字应该在代码前后加上html标签

if(Model.IsOK)
{
   <span> 我想输出一段文字;</span>
}

Rezor会只能识别那块是C#,哪里是html,html中想运行C#代码就用@,想在C#中代码中输入html就写html标签。

下边这个是foreach的举例。

@foreach(var item in strs)
{
    <li>yes @item</li>
}

下面的博客链接是我写的很多例子,可以从我写的例子中,对比输出来进行学习。

https://mp.csdn.net/postedit/88599211

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值