简单了解了下MVC的基本开发步骤后,又对MVC的语法和模版详细看看了,小小总结下

  对mvc开发,首先是要对布局有个基本的认识。Razor引擎使页面元素更加清晰

  简单认识下

  • 可以加载css和js等文件,统一进行管理和设置

    1
    2
    3
    4
    <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块。

    模版页面定义

    1
    2
    3
          <div class="page">
      @RenderSection("Head", false);    <!-- 页面中可以没有Head节点-->
    </div><span style="font-family: SimSun;font-size:18px; "> </span>

    添加一个About.cshtml,

    然后就可以在About.cshtml中定义"Head"要呈现的内容

    1
    2
    3
    4
    5
    @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,所以只能这样使用:

    1
    2
    @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基础的更多相关文章

  1. ASP.NET MVC基础学习

    ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...

  2. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  3. ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础

    ASP.NET MVC在原来ASP.NET的基础上抛弃了基于页面的架构风格,使用了全新的MVC(模型-视图-控制器)架构的一种技术. 目前,它和ASP.NET都共存在.NET Framework之上. ...

  4. ASP.NET MVC 基础(01)

    [ASP.NET MVC ]系列文章大致会包含这样一些内容: 1.ASP.NET MVC 的一些高级知识点: 2.ASP.NET MVC 的一些最新技术: 3.ASP.NET MVC 网站安全方面的知 ...

  5. ASP.NET MVC 基础

    ASP.NET MVC oo1 Mvc准备工作课程安排:ORM->AspNet MVC开发环境:VS2012/VS2013SqlServer2008/2005主讲Asp.Net Mvc4 Raz ...

  6. ASP.NET MVC基础入门.

    一:ASP.NET MVC 简介 1:asp.net mvc 是一种构建web应用程序的框架,他将一般的MVC(Model--View--Controller)模式应用于asp.net框架. 2:as ...

  7. ASP.NET MVC基础知识

    1.MVC项目文件夹说明 App_Data:用来保存数据文件,比如XML文件等: App_Start:包含mvc系统启动的相关类: Controller:存放整个项目“控制器”的代码文件: Model ...

  8. ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  9. ASP.Net MVC开发基础学习笔记(1):走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

随机推荐

  1. 数据挖掘10大算法(1)——PageRank

    1. 前言 这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1).文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现.如果发现文中有错,希望各位指出来,一起讨论. 图1 来自 ...

  2. Android:打包apk

    右击项目->导出export next,完成相关信息填写将得到.apk文件,即可部署到手机上. 第一次: 然后打开目录就可以看到生成的apk,可以发布到各大市场上.

  3. 233. Number of Digit One

    题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers les ...

  4. 离线应用Application Cache详解

    特点:     1.离线可访问            - 没有网络仍可访问整个应用     2.很小的服务器负载  - 缓存在本地,不需要到服务器请求     3.高速                 ...

  5. 机器学习 —— 概率图模型(推理:MAP)

    MAP 是最大后验概率的缩写.后验概率指的是当有一定观测结果的情况下,对其他随机变量进行推理.假设随机变量的集合为X ,观察到的变量为 e, W = X-e , AP = P(W|e). 后验概率和联 ...

  6. PHP开发经验总结

    1.使用内嵌的HTML代码,而不是PHP的echo语句. 因为PHP是一门嵌入式Web编程语言,可以将HTML代码和PHP代码相互嵌入.但是很多程序员担心在HTML代码中过多的使用”"嵌入P ...

  7. Java集合框架学习笔记

    集合类的由来:对象用于封装特有数据,对象多了需要存储,如果对象的长度不确定,就使用集合存储. 集合特点1.用于存储对象的容器.2.集合的长度可变.3.集合中不可以存储基本类型 集合容器因为内部的数据结 ...

  8. bzoj3272 3638

    好题,这道题可以用线段树来快速模拟费用流寻找最长增广路 这样修改怎么做也很显然了 type node=record s,lx,rx,mx,lp,rp,pb,pe:longint; end; ..*,. ...

  9. bzoj1054: [HAOI2008]移动玩具

    hash+bfs:要注意特殊情况.(似乎连sort.lower_bound都不用数据小直接判重了... #include<cstdio> #include<cstring> # ...

  10. 面向函数范式编程(Functional programming)

    函数编程(简称FP)不只代指Haskell Scala等之类的语言,还表示一种编程思维,软件思考方式,也称面向函数编程. 编程的本质是组合,组合的本质是范畴Category,而范畴是函数的组合. 首先 ...