zoukankan      html  css  js  c++  java
  • mvc 控制器,视图,Razor 语法

    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,那就问问双向数据更新的实现方面的问题。

  • 相关阅读:
    日期格式,Popup的使用方法,RenderTransform与LayoutTransform的区别
    Status 网络
    以太坊: RLP 编码原理
    Merkle Patricia Tree 梅克尔帕特里夏树(MPT)详细介绍
    【转】货币的未来取决于打破关于货币历史的虚构谎言
    区块链上的保险
    Trustlines Network:以太坊上实现 Ripple 瑞波协议
    通过 BTC Relay 来实现链与链的连接
    PoW模式下交易平均要35秒,为什么为拥堵
    使用以太坊和 Metamask 再也不需要输入密码
  • 原文地址:https://www.cnblogs.com/csj007523/p/3549944.html
Copyright © 2011-2022 走看看