ASP.net MVC入门及Razor语法

一、MVC入门:

1、MVC简介

ASP.net MVC入门及Razor语法

约定大于配置

2、MVC访问流程

ASP.net MVC入门及Razor语法

csthml模板(razor模板)就是简化HTML的拼接的模板,最终还是生成html给浏览器显示,不能直接访问cshtml文件。

二、Razor语法:

1、 @启动的区域为标准的C#代码,其他部分是普通的html代码

2、 用法:

a) @{string a="abc";}  @a @{代码块}   有标签就是html代码;

总结:@就是C#,<a></a> 就是html ;

如果想让被识别成html的当成C#,那就用@()

如果想让被识别成C#的当成html 就用<span></span> ,如果不想生成额外的标签,就用<text></text>

属性的值如果以“~/”开头会进行虚拟路径处理

属性值如果是bool类型,如果是false 就不输出这个属性,如果是true就输出“属性名=属性名”   <input type="checkbox"  checked="@b1" >

三、 var 匿名类型

            /*
class Myp
{
public int Age { get; set; }
public string Name { get; set; }
}
Myp p = new Myp();
p.Name = "chen";
p.Age = 12;
*/ var p = new { Name = "chen", Age = };

匿名类型的属性是只读的,匿名类型是internal 类型,无法跨程序集

四、Controller 给view传递数据的方式:

1、 ViewData :   键值对从传递数据

        public ActionResult Index()
{ ViewData["name"] = "chen"; //键值对传递
ViewData["age"]=;
return View();
}       
    <body>
    <p>
   <!--C#方法接收-->
   @ViewData["name"] <br />
   @ViewData["age"] <br />
   </p>     </body>

2.  ViewBag:  ViewBag是dynamic类型的参数,是对ViewData一个动态类型的封装,用起来更方便和ViewData共同操作一个数据。

        public ActionResult Index()
{ ViewBag.name = "chen";
ViewBag.age = ; return View();
}
    <p>
<!--C#方法接收-->
@ViewBag.name <br />
@ViewBag.age <br />
</p>

3.   Model

可以在Controller 中通过 return View(model) 赋值 ,然后在cshtml中通过Model属性来访问这个对象;

强类型视图:如果在cshtml中通过“@model”类型(注意model小写)指定类型,则cshtml中的Model就是指定的强类型,

弱类型视图: 如果没有指定“@model”类型,则cshtml中的Model就是dynamic

数据传递建议用 Model传递,并且建议用强类型

上一篇:.Net MVC 入门之Razor语法


下一篇:php 内置支持的标签和属性