mvc 控制器controller:响应用户请求,并修改模型model;输入数据的处理,输出view数据的提供;

url入控制器的方法有关联;MVC提供的是方法调用结果;

mvc model:是对应用状态和业务功能的封装,接受controller 的请求并完成相应的业务处理,在状态改变时通知VIEW。

MVC视图:向用户提供用户界面。

1〉检查控制器提供的模型对象;

2〉将内容转换为HTML格式。(也可以转换成其他格式的内容)

视图的方法:@ViewBag.Message

ViewBag是ViewData的动态封装类,ViewData["currenttime"]等同于ViewBga.currenttime

ViewData["currenttime"]=DateTime.Now

ViewBga.currenttime=DateTime.Now

var albums=new List<Album>();

albums.add(new Albums{Title="Product"+i});

_viewstart.cshtml,第一个运行的视图;

部分视图:不能指定视图;

视图:获取控制器传递的数据,并生成格式化的输出,通常是HTML格式;

浏览器不能直接指向视图;视图本身不会被直接访问;视图被控制器渲染,控制器提供视图渲染的数据;

Razor 语法:

razor:<span>@model.message</span>

web forms:<span><%:model.message%></span>

razor:<span>ISBN@(isbn)</span>

web forms:<span>ISBN<%:isbn %></span>

razor:<span>@Html.Raw(model.message)</span>

web forms:<span>Html.Raw<model.message></span>

razor:@{

int x =123;

}

webforms:<%

int x =123;

%>

文本和标记相结合:

<span>itme@item.name</span>

转以代码:razor:@@

注释:razor:@*abc  *@

webforms:<%-- abc --%>

调用方法:razor:@(html.method())

webforms:<%: html.method()%>

初级:

  • 对 C#(推荐) 或 VB 语言直至与 .NET 4 (目前为止)相匹配的版本,绝大多数特性熟悉并使用过
  • 通晓 HTTP 协议的结构,及 http://ASP.NET 与 HTTP 请求、Web 页面之间的关系
  • 能独立运用 HTML 构建页面,并掌握一定的 JavaScript、CSS 知识
  • 能独立开发具有业务功能的 Web Form 或 MVC 应用程序
  • 能完成到本地 IIS 和服务器上的发布,有 Web 安全意识

中级:

  • 熟练使用 .NET 4 及更新版本的特性,知晓不同大版本之间的差异,以及各版本平台、语言和开发工具的对应关系
  • 使用 http://ASP.NET MVC 以及 Web Form 开发项目,并了解两种机制的异同,根据项目场景作出合适的选择
  • 知晓 IIS 7 集成模式,并了解与经典模式的异同;熟悉 http://ASP.NET 运行机制,独立完成模块和处理程序的开发
  • 有系统分层的概念,能使用面向对象的方法创建模型和服务,能独立组织出解决方案的结构
  • 运用设计工具独立设计数据库,运用 ORM 工具与多种数据源的交互,知晓各种数据源的大概差异
  • 至少使用过一种源代码管理工具,参与过 2 人以上协作完成的项目

高级:

  • 至少对一种其他的服务器开发平台(如 LAMP、Java、Python、Node.js 等)有深入的了解,并清楚其与 http://ASP.NET 之间的主要区别;明确 http://ASP.NET 在整个项目布局中所处的位置
  • 对 C# 3.0 以上版本(或 VB 对应版本)有深入研究,熟练地处理多线程开发;合理运用异步和 COM 组件等功能解决问题
  • 深入了解 http://ASP.NET 运行机制,对应用程序域、配置、模板引擎、编译、请求处理管线等十分了解
  • 能独立完成 http://ASP.NET Web Form 中用户控件、服务器控件的编写;对 http://ASP.NET MVC 中的路由机制、控制器调用方式、过滤器、模型绑定与验证等特性十分熟悉,并能根据现有机制轻松完成扩展与定制
  • 能结合对 WCF 和 Web API 等技术的应用,构建分布式的系统
  • 清楚 IIS 的集成模式与经典模式、请求过滤与跟踪、信任级别等特性与功能以及应用程序池进程数量、进程模型、回收等特性与功能对应用程序的影响
  • 对项目的性能、压力和安全性要求有明确的认识,熟练运用 http://ASP.NET 输出缓存、进程内或分布式数据缓存提高性能;合理配置 IIS 输出缓存、压缩;了解常见的 Web 攻击方法并加以防范
  • 熟知请求和响应在各个过程的状态,并适时完成诸如请求流预处理、拦截、缓存、统计等功能
  • 对常见设计模式和思想非常熟悉,合理在项目中加以应用;熟练运用常见的开源和第三方库,结合项目需求,合理选用 DI、ORM 等用于提升开发效率的工具
  • 能独立完成大型项目的架构,独立完成系统中日志、缓存、数据处理等基础功能的开发计划
  • 对整个项目数据库设计、界面实现与优化、领域模型和数据服务、调试与测试、部署与服务器配置均能完整掌控
  • 能完成组织和协调 5 人以上人员参与的项目的开发计划和工作分配,把握开发进度,激励团队前进

先让面试者介绍一下项目经验,从他项目里面的实际技术入手开始问起。
比如说在http://ASP.NET项目里用过jquery,那就问一下jquery跟http://asp.net结合使用的一些技巧,什么逻辑放到jquery里,什么逻辑放到http://ASP.NET里。
比如说用过http://ASP.NET MVC,那就问问MVC的实现原理方面的问题。
比如说用过WPF,那就问问双向数据更新的实现方面的问题。

mvc 控制器,视图,Razor 语法的更多相关文章

  1. .Net MVC 入门之Razor语法

    Razor语法 Razor是以后MVC项目中都需要用的, 所以在学MVC的基础的时候,我们的目标:要了解熟悉Razor页面的语法结构,做到灵活使用,so我们马上开始学习Razor,也请你们多评论和推荐 ...

  2. ASP.net MVC入门及Razor语法

    一.MVC入门: 1.MVC简介 约定大于配置 2.MVC访问流程 csthml模板(razor模板)就是简化HTML的拼接的模板,最终还是生成html给浏览器显示,不能直接访问cshtml文件. 二 ...

  3. ASP.NET MVC中的Razor语法

    1.Razor的基本语法 @* 多行代码时需要包含在大括号内{}和每句代码后都需要加分号; *@ @{ ViewBag.Title = "Index"; ViewBag.Name ...

  4. MVC系列学习(六)-Razor语法

    注:本次代码加了样式,样式如下 <style>     div {         border: 1px solid red;         margin: 10px auto;    ...

  5. ASP.Net MVC(3) 之Razor视图引擎的基础语法

    Razor视图引擎的基础语法: 1.“_”开头的cshtml文档将不能在服务器上访问,和asp.net中的config文档差不多. 2.Razor语法以@开头,以@{}进行包裹. 3.语法使用: 注释 ...

  6. MVC中Razor视图基本语法(1)

    Razor前面,必须要跟前面的有空隙,即空格(多谢一楼提醒,url里面确实不用空格,如果要在url里面只需要@(ViewBag.),加上括号就好了),之后的必须要连贯,否则加小括号 1,在页面中输出单 ...

  7. ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考

    原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...

  8. [ASP.NET MVC 小牛之路]03 - Razor语法

    本人博客已转移至:http://www.exblr.com/liam  Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指 ...

  9. 精通MVC网站、MVVM开发模式、Razor语法

    http://www.cnblogs.com/powertoolsteam/p/MVC_one.html ASP.NET MVC (一)——深入理解ASP.NET MVC 以下是ASP.NET MVC ...

随机推荐

  1. android 升级APK

    Intent intent = new Intent(); //执行动作 intent.setAction(Intent.ACTION_VIEW); //执行完打开应用 intent.setFlags ...

  2. 第一课 T语言关键字(版本TC5.0)

    关键字 TC综合开发工具的语法里包含了大量的关键字,而且对TC综合开发工具支持的关键字都做了亮色处理,以便大家在写脚本的时候容易区分. 关键字在使用的时候,都有特定的作用,不能作为变量名.函数名等等使 ...

  3. MATLAB格式化输出控制

    format 默认格式 format short 5字长定点数 format long 15字长定点数 format short e 5字长浮点数 format long e 15字长浮点数 form ...

  4. jce

    jdk8:jce 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html jdk ...

  5. UVa 1585 Score --- 水题

    题目大意:给出一个由O和X组成的串(长度为1-80),统计得分. 每个O的分数为目前连续出现的O的个数,例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3 解题思路:用一个变量t ...

  6. Linux系统编程@进程管理(二)

    1.创建守护进程(Deamon) 守护进程的概念与作用 后台服务程序 – 系统服务,进程名字往往以’d’结尾,生存周期比较长(系统装入时启动,关闭时候终止.系统装入两种启动方式:1从启动脚本.etc/ ...

  7. Android如何防止apk程序被反编译

    作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-s ...

  8. C编码-1

    两个关键点,一个是要懂C语法,另一个要懂业务知识,即能够分解问题 字节序测试程序 不同cpu平台上字节序通常也不一样,下面写个简单的C程序,它可以测试不同平台上的字节序. 网络字节序说是大端字节序. ...

  9. CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  10. Android之Handler用法总结

    方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread ...