突然想起来大学的一个专业课老师,教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. 移动端H5通用表单验证插件

    将表单验证的通用部分提炼出来,做成一个简易插件,方便调用. 已将源码放到GitHub上,名字叫zValidate. 手机可扫描下图查看示例,PC端可点击此处查看: 一.原理 1)需要引入zepto.j ...

  2. Java阶段性测试--第四五六大题参考代码

    第四题:.此题要求用IO流完成 使用File类在D盘下创建目录myFiles, 并在myFiles目录下创建三个文件分别为:info1.txt, info2.txt, info3.txt . 代码: ...

  3. Android之自定义Adapter的ListView

    ListView的创建,一般要具备两大元素: 1)数据集,即要映射的字符串.图片信息之类. 2)适配器,实现把要映射的字符串.图片信息映射成视图(如Textview.Image等组件),再添加到Lis ...

  4. 工程师倾情奉献-Win7 ISO 精简操作说明

    1.前提条件 a)本文档内容只适用于32bit win7 install ISO,其它OS不能保证兼容 b)示范文件为win7-ultimate-rtm-32-en-us-rdvd.iso 2.准备待 ...

  5. [1] Entity Framework

    开发框架之Entity Framework  

  6. View Components as Tag Helpers,离在线模板编辑又进一步

    在asp.net core mvc中增加了ViewComponent(视图组件)的概念,视图组件有点类似部分视图,但是比部分视图功能更加强大,它更有点像一个控制器. 使用方法 1,定义类派生自View ...

  7. VMWare、KVM、Virtualbox克隆或复制Linux虚拟机后eth0找不到的解决方案

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  8. Mybatis在oracle批量更新

    最近公司业务中为了提高效率要做mybatis批量更新,但是到了oracle数据库中做了好几次都没成功,后来发现mybatis最后少了个分号,可能是Mybatis内部做了异常try  catche  处 ...

  9. MVP架构

    一.介绍 MVP(Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.对于在Android应用中开发就可以视为是MVC架构,布局 ...

  10. jquery获得表格可见行的大小数量

    alert($("#tableId").find("tbody tr[moban='true']").find(":visible").si ...