突然想起来大学的一个专业课老师,教C,C#,他的教学特点就是只教简单知识,现在想想真有道理,假如上来就教我们枯燥难以理解的高深知识,我们会恐惧编程的,极大地打击学习的兴趣,所以他C语言的指针从来没教过我们(我是考软考及工作中自学的指针,感觉还不错)。

言归正传:

《HTML》

html是标签解释性语言,浏览器的页面是不是绘图文档?把标签控件元素绘制到这个文档图面上?这个绘制过程是不是用浏览器引擎(一直不太理解引擎在软件中的意思)完成的(还是有游览器内核的功能完成的)?绘图是不是由图层叠加N层(像ps制作图,winform拖一个控件就是一个图层,微观想象成图层很厚)而来?

标准的html是遵守xhtml约定的。

《CSS》

浏览器在绘制渲染(不太理解渲染与绘制的区别)标签元素控件的时候,是不是除了绘制元素本身,再根据(感觉用查找,寻找更准确)样式来进一步绘制?

主要的三种样式:样式找元素(这个范围是N(N>0));元素找样式(.class选择器);一对一的寻找(ID选择器);

样式的位置:元素内联<head中<单独link文件(目的也是为了松耦合)

《JavaScript》

浏览器能执行js程序是不是用了一个解释一行代码就可以执行一个代码的工具(这点我也不懂)?js是解释性弱语言(直接按照正常逻辑思维理解),没有数据类型的概念,好像不是申明一个数据类型,而是直接要一个内存空间(只是个人理解)?这个内存空间可以动态的存各种“类型”的数据?可以模拟面向对象的各种类型,js中的闭包好像调用一个方法,返回结果又是一个方法,这要明白,C语言中的方法名表示一个内存地址,这样这个内存地址一直使用中,就可以保存调用方法的局部变量了。我记得C#中的委托,有个target对象,这个对象就可以取到委托处理函数寄宿的对象。

js引用的方式:元素加载后<script>标签中<页面head标签中<单独的js文件中。(同样是体现隔离松耦合或者是通用提取集中管理)

用var申明一种类型(其实没有类型的概念,如果去掉var相当于页面变量);数组是一种特殊的字典。var arr=[1,2,3,4]; var dic={"name":wwj,"age":30};这是简写初始化对象。

字符串用单引号或双引号都可以。

《DOM》

DOM是把页面上的元素构造成一个树状对象。用JS脚本来操作DOM对象。页面上标签控件的事件是不是也走的消息队列模式?像Winform一样,窗口事件触发后把消息给操作系统,操作系统再把消息给应用程序的消息队列,然后调用相应的处理函数。DOM好像是api类库,js可以调用其中的对象(类库是不是在浏览器进程中或者类库文件在哪里?)

dom中的常用对象是Window对象(我理解成入口对象),dom最常用的操作就是选择器与过滤器,因为要在dom这个对象树上查找要操作的对象。

document.getElementById("元素ID")

事件的处理函数是谁,及事件调用那个方法执行,这是两种写法。

《JQuery》

因为各个浏览器操作dom的方法不是完全相同,所以JQuery把这些差异封装起来提供统一的访问方式,内部应该是把判断不同浏览器的操作封装在JQuery方法内部。

链式编程是建立在隐式迭代的基础上。在此匿名方法表现的淋漓尽致(因为方法只是临时用一次,没必要起名称)

因为需要对界面元素进行操作,所以选择器,过滤器是获取界面元素对象的方式。

《WebForm》

先探讨原理:http通过socket通信,端与端(IPEndPoint)的通信,客户端把数据发到服务器端,IIS等web服务器来监听请求,完成端与端通信。

asp.net是不是一个插件框架?我们的web应用程序跑在这个微软写的插件框架上(比如大型的桌面程序就是采用插件框架osgi或者自己实现)?凡是框架都有很多约束规则

HttpRuntime有个PR方法来处理请求,所以asp.net首先会把请求封装成HttpWorkerRequest。然后继续封装成HttpContext对象,这种对象属于逐步填充对象,它把处理过程中所有需要的参数都组合到一个对象里。参数有了,接下来HttpRuntime创建处理请求对象HttpApplication。这个对象采用处理管道的方法把处理函数抛出来。(具体是采用反射的方法创建IHttpModule来注册我们的事件处理函数【插件框架基本都会用到反射】)而真正处理请求的是在处理管道第八个事件PostMapRequestHandler触发的时候创建(获取)IHttpHandler处理程序。在第11个事件PreRequestHandlerExecute之后,HttpApplication执行处理程序的PR方法。

asp.net都是围绕请求,处理,响应的模型运行的。

只有form中带name的value及cookie才会提交到服务器,当然对webform来说还有viewstate。

webform中的页面aspx是一种模板,(把模板理解成里面有很多占位符,.net程序处理后替换占位符,然后渲染回浏览器)。

浏览器只认识html标记语言,所以.net会把服务器标签渲染成html标签,原生的html当成字符串原样发回浏览器。

《Ajax》

目的是整个页面不刷新,只是局部刷新。对IE来说,JS在浏览器端new一个XMLHttpRequest(如同C#异步new一个WebClient发送请求)向处理程序发请求,然后回调我们写的处理函数。

《MVC》

asp.net这个框架是怎么把webform请求的URL换成请求控制器的方法?(包括框架把请求URL对应成WebForm的页面,这些都是asp.net这个框架所完成的功能)

由于aspx耦合度太高,太臃肿,MVC这个扩展框架把它分成控制器和视图。一个控制器里可以有N个action方法,这样也避免了html+js+ajax+一般处理程序模式中太多的处理程序的问题。

以上只是个人理解,后续会在工作中继续深入理解。

本人目前处于离职状态,有合适的服务器端开发工作,请帮忙介绍一下,先谢谢了。

asp.net修行入门讨论的更多相关文章

  1. ASP.NET 5 入门 (2) – 自定义配置

    ASP.NET 5 入门 (2) – 自定义配置 ASP.NET 5 理解和入门 建立和开发ASP.NET 5 项目 初步理解ASP.NET5的配置 正如我的第一篇文章ASP.NET 5 (vNext ...

  2. ASP.NET + MVC5 入门完整教程八 -—-- 一个完整的应用程序(上)

    https://blog.csdn.net/qq_21419015/article/details/80509513 SportsStore 1.开始创建Visual Studio 解决方案和项目这里 ...

  3. ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)

    前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...

  4. ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑

    前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 # ...

  5. ASP.NET Aries 入门开发教程4:查询区的下拉配置

    背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式 ...

  6. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  7. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  8. 5、ASP.NET MVC入门到精通——NHibernate代码映射

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一篇NHibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序 使用的是xml进行orm映射,那么这一 ...

  9. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

随机推荐

  1. javaSE_08Java中static、继承、重写

    一.Static 学习静态这个关键字,关键是抓住两个点: 1,关注其语法特点 2,关注其使用场景 案例讲解: 我们先从静态变量开始,当一个成员变量加上static修饰之后,会是一个什么效果? 比如创建 ...

  2. Chapter 7:Statistical-Model-Based Methods

    作者:桂. 时间:2017-05-25  10:14:21 主要是<Speech enhancement: theory and practice>的读书笔记,全部内容可以点击这里. 书中 ...

  3. SHELL命令集锦

    1.定时任务crond使用. crontab -e -u www文件编辑保存在/var/spool/cron/www文件中. 参考示例: */1 * * * * /usr/local/php/bin/ ...

  4. Web前端知识体系精简

    Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知 ...

  5. response.getWriter().write()产生乱码

    Struts1中通过action, return到页面的时候,如果代码中使用到response.getWriter().write(),那么有可能jsp页面中汉字会变成乱码.百度上有人说改为respo ...

  6. [0] CollectionBase与索引符DictionaryBase与迭代器

    对于简单数组来说,需要用固定的大小来初始化,才能使用: Animal[] myAnimal=new Animal[10]; myAnimal[0]=new Cow("Ken"); ...

  7. 如何将mysql数据导入Hadoop之Sqoop安装

    Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle , ...

  8. 【转载】Static 关键字的作用

    原始日期:2016-07-16 17:53   一   普通的static关键字 1.  静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量.我们先举一个静态全局变 ...

  9. JAVA类型擦除

    Java泛型-类型擦除 一.概述 Java泛型在使用过程有诸多的问题,如不存在List<String>.class, List<Integer>不能赋值给List<Num ...

  10. 【SEO】搜索引擎优化的陷阱和作弊

    一.认识SEO [理解] 站内优化是指更改网站内部结构,让网站利于蜘蛛爬取,比如网站内容: 站外优化是指发反向链接,给蜘蛛一个爬取你网站的通道. 其中,反向链接是指网页A 上有一个链接指向网页B,则网 ...