ASP.net MVC基础
简单了解了下MVC的基本开发步骤后,又对MVC的语法和模版详细看看了,小小总结下
对mvc开发,首先是要对布局有个基本的认识。Razor引擎使页面元素更加清晰
简单认识下
- 可以加载css和js等文件,统一进行管理和设置
如
1234<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></linkhref="@url.content("~>到了页面会自动找到相应的js
在模板页中我们会定义一些全局性的CSS,JS等文件,而与具体页面相关的CSS和JS文件及代码,我们可以保留在@RenderSection("Head", false)中,它能够让页面通过@section Head{}的形式,将个性化的代码呈现,其中参数false表示,具体页面可以不去实现这个section Head块。
模版页面定义
123<divclass="page">@RenderSection("Head",false); <!-- 页面中可以没有Head节点--></div><span style="font-family: SimSun;font-size:18px; "> </span>添加一个About.cshtml,
然后就可以在About.cshtml中定义"Head"要呈现的内容
12345@sectionHead{<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,所以只能这样使用:
12@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基础学习
ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础
ASP.NET MVC在原来ASP.NET的基础上抛弃了基于页面的架构风格,使用了全新的MVC(模型-视图-控制器)架构的一种技术. 目前,它和ASP.NET都共存在.NET Framework之上. ...
- ASP.NET MVC 基础(01)
[ASP.NET MVC ]系列文章大致会包含这样一些内容: 1.ASP.NET MVC 的一些高级知识点: 2.ASP.NET MVC 的一些最新技术: 3.ASP.NET MVC 网站安全方面的知 ...
- ASP.NET MVC 基础
ASP.NET MVC oo1 Mvc准备工作课程安排:ORM->AspNet MVC开发环境:VS2012/VS2013SqlServer2008/2005主讲Asp.Net Mvc4 Raz ...
- ASP.NET MVC基础入门.
一:ASP.NET MVC 简介 1:asp.net mvc 是一种构建web应用程序的框架,他将一般的MVC(Model--View--Controller)模式应用于asp.net框架. 2:as ...
- ASP.NET MVC基础知识
1.MVC项目文件夹说明 App_Data:用来保存数据文件,比如XML文件等: App_Start:包含mvc系统启动的相关类: Controller:存放整个项目“控制器”的代码文件: Model ...
- ASP.Net MVC开发基础学习笔记:一、走向MVC模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
- ASP.Net MVC开发基础学习笔记(1):走向MVC模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
随机推荐
- lintcode 中等题:A + B Problem A + B 问题
题目: 中等 A + B 问题 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符. 如果 a=1 并且 b=2,返回3 注意 你不需要从输入流读入数据,只需要根据aplusb的两个参数 ...
- IOS 开发中判断字符串是否为空字符的方法
NSUInteger是无符号的整型, NSInteger是有符号的整型,在表视图应用中常见 NSUInteger row= [indexPath row];因为这是显示tableViewCell有多少 ...
- C语言指针的概念
在计算机中,所有的数据都是存放在存储器中的.一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍.为了正确地访问 ...
- 发送消息执行记事本的“另存为”菜单功能(通过WM_COMMAND控制使用别的程序的菜单命令)
发送消息执行记事本的“另存为”菜单功能procedure TForm1.FormCreate(Sender: TObject);var hNotepad: Cardinal;begin hNotepa ...
- Tomcat的SessionID引起的Session Fixation和Session Hijacking问题
上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hi ...
- 在Hadoop伪分布式模式下安装Hive(derby,mysql)
我的Hadoop版本是1.2.0,mysql版本是5.6.12. 先介绍一下嵌入式derby模式: 1.下载/解压 在hive官网上选择要下载的版本,我选择的版本是hive-0.10.0. 下载好解压 ...
- 简单易懂的命名空间及use的使用
最近一段时间在研究php框架,一直想的什么时候才能开发出自己的框架,当然这是为了提升自己的编程水平,同时能把平时学的零散的东西糅合在一块熟练应用.但是开发一个框架根本不知道如何做起,先开发什么,虽然p ...
- awk当中使用外部变量
1.awk命令使用双引号的情况下 此时在awk命令里面使用\"$var\"就可以引用外部环境变量的var的值 $ var="BASH";echo "u ...
- [HDOJ2818]Building Block(带权并查集,路径压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2818 题意:有N个块,每次有两个操作: M x y表示把x所在的那一堆全部移到y所在的那一堆的下方. ...
- git终端提示符
最近使用git bash的时候,看到默认的终端提示符不爽,主要是太长了.所以想对git终端提示符进行优化 默认git的终端提示符会是 用户名@设备名称 ,我想改成更短的来查看. 提示符是由一个环境变 ...