mvc 控制器controller:响应用户请求,并修改模型model;输入数据的处理,输出view数据的提供;html
url入控制器的方法有关联;MVC提供的是方法调用结果;jquery
mvc model:是对应用状态和业务功能的封装,接受controller 的请求并完成相应的业务处理,在状态改变时通知VIEW。web
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()%>
初级:
中级:
高级:
先让面试者介绍一下项目经验,从他项目里面的实际技术入手开始问起。
好比说在http://ASP.NET项目里用过jquery,那就问一下jquery跟http://asp.net结合使用的一些技巧,什么逻辑放到jquery里,什么逻辑放到http://ASP.NET里。
好比说用过http://ASP.NET MVC,那就问问MVC的实现原理方面的问题。好比说用过WPF,那就问问双向数据更新的实现方面的问题。