学历问的人最多,其实是最不重要的一个。有,当然更好;没有,也不是无法弥补各行各业都有学历歧视,但IT行业,相对来说是歧视最少的——因为IT他很“硬”:再高的学历,做不出来东西都是扯淡再低的学历,能干活就能领到工资当然,没有学历,必然要比有学历付出更多艰辛,甚至屈辱。英语被太多太多同学忽视。之前:编程=数据结构+算法现在:编程=google+英语英语能力,决定你能否:更快的入门(编程语言都是用英语书写)找到更多解决问题的渠道(英语+中文>中文)了解最前沿的技术(什么都等着翻译是不现实的,.NET开源之 ……
Web API 返回纯数据(JSON/XML/其他格式),而不是HTML页面推出背景:RESTful设计理念:无状态(http)和 资源(url)通过动词(verb)确定动作:Get/Post/Put/Delete……(问题:GET/POST就已经有些“无所谓”了,再添加PUT和DELETE,概念进一步混淆)和MVC最大的不同:route配置在:WebApiConfig.cs,注意:默认有action!根据Request的method,在ApiController的子类controller中找Action ……
在 Linq to SQL 面世之前,连接数据库的办法。是 EntityFramework 的底层实现工具。数据库连接using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); //需要显式的Open()// Do work here. } 字符串Open()/Close()池SqlCommand command = new SqlCommand();SqlCommand ……
历史和现状 名称由来:Asynchronous Javascript And XML:Asynchronous :异步,不用刷新整个网页JavaScript:通过Javascript技术实现和应用XML:XMLHttpRequest对象,在IE5中首次引入,是Ajax的核心可以说,没有Ajax,就没有JavaScript的今天!微软引入:惊艳全场:Google提示和Google地图蓬勃发展:JQuery极大的简化了Ajax的应用目前的“前后端分离”运动,正试图使用Ajax作为前后台传输的唯一方式。其阻碍: ……
病从口入:小心用户输入Script注入我有一个idea:在我发布的内容里面写上一段JavaScript代码……(演示:略)MVC:抛异常,需要[AllowHtml]和@Html.Raw()RazorPage:已编码,需要@Html.Raw()为什么需要@Html.Raw()?富文本编辑(如:ueditor)和CSS样式。后台如何过滤?两种策略:白名单:只允许使用白名单中的标签,推荐!黑名单:禁止黑名单中出现的标签工具:正则匹配SQL注入实际上已经不太可能出现。为了演示,我们需要首先学习参数化查询:首先将S ……
总结:页面传值 页面之间其实不能传值(复习:HTTP无状态)。所谓页面传值,指的是把在一个页面(后台)生成的值,传递给另外一个页面(后台)。所有的“页面传值”都是通过“迂回”的方法:cookie:数据传回客户端,再传到另一个页面session:传送方式同cookie,但数据存放在服务器端query string:数据通过url参数传递hidden field:WebForm的ViewState实现机制,只有当被传值页面向服务器提交时有用TempData:RazorPage和MVC内置,可由cookie(默 ……
适用于Action或者整个Controller特性按接口可分为四种Filter:IAuthorization:Authorization: 用于验证IActionFilter:ContextPerRequestIResultFilter: IExceptionFilter:HandleError 按顺序依次执行同种Attribute,使用Order区分内置ActionFilterAttributeActionExecutingContext演示:取HttpCcontext/Controller/Actio ……
常用的有以下几种:ViewResult最最常见的内容,返回的就是整个页面PartialViewResult也非常常见,返回的是一个部分页面。在功能上最大的区别是ChildAction可以,也可以ajax的时候,RedirectResultRedirectToRouteResultFileResult(FilePathResult、FileContentResult、FileStreamResult)动态生成的图片(因为静态的图片基本上用不着这样弄)验证码JsonResultJavaScriptResult ……