ASP.NET-Razor语法03
2016-03-24 09:29
549 查看
ASP.NET MVC中使用Razor语法 @{}
@Section的用法
1.在页面中这样写一个@Section
2.在模板页layout中这样写,就可以包含前台的中定义的@Section xxx代码
和RenderBody(内容主题)和RenderPage(部分页)是有区别的
Model中的限定特性
那么在controller中,可以用 [ ] 来初始化这个类,这个特性相当于构建了一个匿名方法了
Model类的属性中可以设置的特性有
ASP.NET MVC5中如何访问直接访问HTML文件
在MVC中想访问html文件的话,就把html页面放在根目录下面
MVC的router网页路径和WEB FORM不一样
MVC里面的/就代表网站的根目录
而web form需要从当前路径往上找
Razor中前台的变量名和后台的变量名要一样
ASP.NET MODEL传回到controller
假如传回来的是model,那么放在action类名后的哪里都是一样的,不分前后,MVC都能智能的找到它
ViewBag页面传值
ViewBag属于页面传值,后台的Action方法可以传值到前台的页面,但仅仅是一个页面,再跳转就没有了
ASP.NET MVC5自带的错误
下面的这个是MVC5框架自带的错误,Error后面加一个空格就行了
JS对象与ASP.NET controller传过来的model对象传值
用这种方法给当前的Model赋值是不行的
但是,反过来是可以,比如把model赋给一个js对象
6种官方定义的返回结果(当然还可以自己定义)
1.ViewResult
2.EmptyResult
3.RedirectResult
4.RedirectToRouteResult
5.JsonResult
6.ContentResult
还可以自定义actionResult的返回类型
Razor对URL增强了
以前需要这样写
<script src="@Url.Content("~/Script/site.js")"></script>
现在仅需要这样写就行了,因为Razor可以正常的解析 ~/
<script src = "~/Script/site.js"></script>
来自为知笔记(Wiz)
@{ string s ="super xiao lizi"; @s; // 里面的这个@代表着在页面上输出这个s // 我记得实际是给了Response.write方向 }
@Section的用法
1.在页面中这样写一个@Section
@section name{ // 注意section是小写的 <style> .... </style> }
2.在模板页layout中这样写,就可以包含前台的中定义的@Section xxx代码
@RenderSection("name",required :false)
@RenderSection("scri",required :false)
和RenderBody(内容主题)和RenderPage(部分页)是有区别的
<!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site。css")" rel="stylesheet" type="text/css"/> <script src="@Url.Content("~/Scripts/jquery-1.4.4.min。js")" type="text/javascript"></script> @RenderSection("head", required:true)@*View页面自定义特定js/css使用*@ </head> <body> @RenderPage("~/Views/Shared/_Header.cshtml") @RenderBody() </body> </html>
Model中的限定特性
[Required] [StringLength(100,ErrorMessage="{0} 必须至少包含 {2} 个字符。",MinimumLength=6)] [DataType(DataType.Text)] [Display(Name="新闻标题")]
在方案中另设置了一个类,有 publicclass logAction :ActionFilterAttribute {public string ActionMessage{ get;set;}}
那么在controller中,可以用 [ ] 来初始化这个类,这个特性相当于构建了一个匿名方法了
[logAction(ActionMessage="用户信息")] publicActionResultUserIndex() {XXXXX}
Model类的属性中可以设置的特性有
[Required] [StringLength(100,ErrorMessage="{0} 必须至少包含 {2} 个字符。",MinimumLength=6)] [DataType(DataType.Password)] [Display(Name="新密码")]
ASP.NET MVC5中如何访问直接访问HTML文件
在MVC中想访问html文件的话,就把html页面放在根目录下面
MVC的router网页路径和WEB FORM不一样
MVC里面的/就代表网站的根目录
而web form需要从当前路径往上找
Razor中前台的变量名和后台的变量名要一样
ASP.NET MODEL传回到controller
假如传回来的是model,那么放在action类名后的哪里都是一样的,不分前后,MVC都能智能的找到它
ViewBag页面传值
ViewBag属于页面传值,后台的Action方法可以传值到前台的页面,但仅仅是一个页面,再跳转就没有了
ASP.NET MVC5自带的错误
下面的这个是MVC5框架自带的错误,Error后面加一个空格就行了
JS对象与ASP.NET controller传过来的model对象传值
用这种方法给当前的Model赋值是不行的
但是,反过来是可以,比如把model赋给一个js对象
<script> var obj = '@model.obj'; </script>
6种官方定义的返回结果(当然还可以自己定义)
1.ViewResult
2.EmptyResult
3.RedirectResult
4.RedirectToRouteResult
5.JsonResult
6.ContentResult
还可以自定义actionResult的返回类型
Razor对URL增强了
以前需要这样写
<script src="@Url.Content("~/Script/site.js")"></script>
现在仅需要这样写就行了,因为Razor可以正常的解析 ~/
<script src = "~/Script/site.js"></script>
来自为知笔记(Wiz)
相关文章推荐
- ASP.NET-ajax.BeginForm使用02
- ASP.NET-ajax.acionlink使用
- ASP.NET-表单验证-DataAnnotations
- ASP.NET-Router配置中MapRoute的参数
- ASP.NET-Razor常用方法
- ASP.NET-RedirectToAction只能使用get方法
- ASP.NET Core 行军记 -----第一步(艰辛的 MVC Hello World)
- C# asp.net mvc 配置多个route 参数
- ASP.NET在底层类库中获取Session C#类中获取Session 原创
- 细谈asp.net如何处理应用程序-----c#菜鸟日记
- ASP.NET MVC系列:从Controller访问Model数据
- Asp.net 提供程序模型
- GRASP 职责分配原则[转]
- asp.net文件下载文件另存为
- asp.net在线QQ客服聊天
- 2016-AspNet-MVC教学-5-动态表格页面的基本测试-2
- ASPCMS标签教程
- 使用MiniProfiler给Asp.net MVC和Entity Framework号脉(附源码)
- ASP.NET会话丢失,Session超时配置
- asp.net 文件打包成压缩包