asp.net mvc框架之razon语法

一、asp.net mvc框架的搭建及使用

步骤一:

步骤二:

步骤三:

此时创建成功

通过建立一个最简单的webform版的计算器来演示如何使用mvc框架

在搭建好了的mvc框架中,会自动创建如上图所示的文件夹和文件。Controllers文件夹表示存放控制器文件,Models文件夹存放模型类,Views文件夹存放视图。

(1)在Controllers文件夹中创建一个控制器(结尾一定要以Controller,mvc框架讲究约定大于俗成),如创建一个CalculatorController的控制器

创建完成控制器之后,在Views文件夹中会自动创建一个与控制器名称一样名字的文件夹(Calculator)

(2)在Models文件夹中创建模型类CalculatorModel类

 

public class CalculatorModel
    {
        public int Number1 { get; set; }
        public int Number2 { get; set; }
        public int Result { get; set; }
    }

 

 (3)创建视图------在Calculator文件夹中创建一个与CalculatorController控制器中action方法名字一样的视图。

public class CalculatorController : Controller
    {
        // GET: Calculator
        public ActionResult Index()
        {
            return View();
        }
    }

 

如:在这个控制器中的action方法名字为Index方法,那么就要创建一个视图名字为Index(必须按照此要求做,这是官方规定的,否则就需要自己配置好多东西)

(4)在Index视图中的顶层添加如下代码:

@model FirstMvc.Models.CalculatorModel

 

@model FirstMvc.Models.CalculatorModel是导入模型类的命名空间

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
        <form action="/Calculator/Index" method="post">
            
            <input type="text" name="Number1" value="@Model.Number1"/>+
            <input type="text" name="Number2" value="@Model.Number2"/>
            <input type="submit" value="="/> @Model.Result
        </form>
    </div>
</body>
</html>

 

其中action的路径是按照视图的"文件夹.视图"来确定的。

(5)CalculatorController控制器代码如下:

public class CalculatorController : Controller
    {
        // GET: Calculator
        public ActionResult Index(CalculatorModel model)
        {
            model.Result = model.Number1 + model.Number2;
            return View(model);
        }
    }

 

此时运行就可以成功了。

 

======================================================

二、Razon语法常用总结

(1)@{string a="abc";} @a    表示:@{c#代码} 。有标签的就是html代码

(2)@Model  在使用模型类的属性的时候使用

(3)@if()  @foreach() 等C#语句

(4)foreach或者if语句中,使用纯文本会被视为C#代码,在纯文本前面加"@:"前缀,就可以不被认为是C#代码;或者使用html代码标签来包裹纯文本,就可以被认为是html代码了。

(5)在超链接中写<a href='course@name' >点击</a>,而name是一个变量,但是在运行的时候无法翻译成变量,而是直接使用了name名称,如下图:

正确的方法:<a href='course@(name)'>点击</a>或者<a href='course(@name)'>点击</a>

(6)<span>123456@qq.com</span>,razor会自动识别成邮箱,不会把@qq.com当成变量或者qq对象的属性,对于特殊的邮箱或者要显示@,那么就要使用@转义@,也就是"@@"

(7)在前端style中使用@

@{ bool isTrue = false; }
        <div  style='background-color:@(isTrue?"red":"green")'>你好呀</div>

(8)

@{ string get_url = "<a href='http://www.baidu.com'>百度</a>";}
        @Html.Raw(get_url)
posted @ 2019-06-10 15:36  black娃  阅读(309)  评论(0编辑  收藏  举报