ASP.net MVC基础
2014-12-22 16:57
225 查看
简单了了解了下MVC的基本开发步骤后,又对MVC的语法和模版详细看看了,小小总结下
对mvc开发,首先是要对布局有个基本的认识。Razor引擎使页面元素更加清晰
简单认识下
可以加载css和js等文件,统一进行管理和设置
如
到了页面会自动找到相应的js
在模板页中我们会定义一些全局性的CSS,JS等文件,而与具体页面相关的CSS和JS文件及代码,我们可以保留在@RenderSection("Head", false)中,它能够让页面通过@section
Head{}的形式,将个性化的代码呈现,其中参数false表示,具体页面可以不去实现这个section Head块。
模版页面定义
添加一个About.cshtml,
然后就可以在About.cshtml中定义"Head"要呈现的内容
可以是系统插件化 就是可以分离的东西绝对不要让他们在一起,因为只有每个功能模块都是单独的,我们才可以在其他位置重用它
分工合作现在是一个合作的时代,没有任何一个人可以单独完成规定的任务而不与别人合作,除非是牛人例外。分部视图可以带给我们开发不同模块中的分工合作。
HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的
以上各个方法都是调用然后返回信息
不同点
1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
2、Html.Partial可以直接提供用户控件名作为参数,
而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retunPartialView())。
3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
如:发现父类的虚方法,那么我们就可以通过control返回以下这些类型。
FileContentResultfile()
ContentResultcontent()
JesonResultjson()
PartialViewResultpartialView()
ReirectToresultResultRediretToaction()
对mvc开发,首先是要对布局有个基本的认识。Razor引擎使页面元素更加清晰
简单认识下
@Url.content
可以加载css和js等文件,统一进行管理和设置如
<linkhref="@Url.Content("~/Content/Site.css")"rel="stylesheet" type="text/css" /> <scriptsrc="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"type="text/javascript"></script> <scriptsrc="@Url.Content("~/Scripts/jquery-1.7.js")"type="text/javascript"></script> <scriptsrc="@Url.Content("../../Scripts/Highcharts-3.0.1/js/highcharts.js")"type="text/javascript"></script>
到了页面会自动找到相应的js
@RenderSection("Head", false)
在模板页中我们会定义一些全局性的CSS,JS等文件,而与具体页面相关的CSS和JS文件及代码,我们可以保留在@RenderSection("Head", false)中,它能够让页面通过@sectionHead{}的形式,将个性化的代码呈现,其中参数false表示,具体页面可以不去实现这个section Head块。
模版页面定义
<body> <div class="page"> @RenderSection("Head", false); <!-- 页面中可以没有Head节点--> </div><span style="font-family: SimSun;font-size:18px; background-color: rgb(255, 255, 255);"> </span>
添加一个About.cshtml,
然后就可以在About.cshtml中定义"Head"要呈现的内容
@section Head{ <script> alert("Hello MVC3"); </script> }
分部视图
可以是系统插件化 就是可以分离的东西绝对不要让他们在一起,因为只有每个功能模块都是单独的,我们才可以在其他位置重用它 分工合作现在是一个合作的时代,没有任何一个人可以单独完成规定的任务而不与别人合作,除非是牛人例外。分部视图可以带给我们开发不同模块中的分工合作。
Html.partial和RenderPartial
Html.partial和RenderPartial都是输出html片段,区别在于Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的
对比分析
@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction,@Html.ActionLink以上各个方法都是调用然后返回信息
不同点
1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
@Html.Partial对应 @{Html.RenderPartial(....);} @Html.Action对应 @{Html.RenderAction(....);}
2、Html.Partial可以直接提供用户控件名作为参数,
而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retunPartialView())。
3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
Control认识
control是一个抽象类,该类封装了不少的方法,返回类型很多是引用类型。所以我们在书写返回值的时候尽可能的去查看父类的方法如:发现父类的虚方法,那么我们就可以通过control返回以下这些类型。
FileContentResultfile()
ContentResultcontent()
JesonResultjson()
PartialViewResultpartialView()
ReirectToresultResultRediretToaction()
小结:
MVC3以后的书写和语法大大简化的开发难度,同时在加入的一些分布视图上,起到了很好的开发效果。学习的难度并没有增大。本小结是对学习中简单的认识,还请多多指教。相关文章推荐
- asp.net MVC 基础
- asp.net mvc 国际化(1) 国际化的基础
- ASP.NET MVC小结之基础篇(一)
- Asp.net Mvc视频教程 页面传值基础(get/post/UpdateModel)
- ASP.NET MVC 4.0 学习1-C#基础语法
- ASP.NET MVC基础知识
- ASP.NET MVC基础
- ASP.NET MVC基础
- ASP.NET MVC小结之基础篇(二)
- ASP.net MVC基础
- asp.net mvc基础准备
- 有关ASP.NET MVC框架的一些基础知识
- Asp.net MVC# 基础
- ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器
- ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法
- ASP.Net MVC 基础模板 (MVC4,EF 5.0)
- 有关ASP.NET MVC框架的一些基础知识
- ASP.NET MVC基础学习
- ASP.Net MVC开发基础学习笔记:一、走向MVC模式
- ASP.NET MVC +EasyUI 权限设计(三)基础模块