仓酷云

标题: ASP.NET网页设计ASP.NET MVC 进修备忘录仓酷云 [打印本页]

作者: 谁可相欹    时间: 2015-1-18 11:30
标题: ASP.NET网页设计ASP.NET MVC 进修备忘录仓酷云
听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了)用MonoRails做过一个项目,感到MVC形式思绪对照明晰,比来传闻微软官方出了MVC,就下载了一份,是第二个预览版,还包括一份源码。刚好比来又有一个小项目,想实验利用ASP.NETMVC来做,由于MR已好久不更新了,从SVN高低来的代码总是有成绩(多是本人的成绩),以为仍是用官方的好一些,何况微软还开放了源码,只是不同意自在公布,因而就进修和测试了一下,对测试中碰到的成绩摘录以下,大概并非成绩,只是和MonoRails对照进修过程当中的一些感到。
1、好的感到
1、全体感到和MR相似,目次布局,把持器类的划定规矩,视图目次划定规矩等基础分歧。
2、视图的可编程性加强。MR的视图(NVelocity)编程才能较差,也是MVC的哲学头脑决意的,而ASP.NET的MVC视图默许是ASPX格局的,编程才能一定是没得说了,C#和类库都可用,的确便利了很多,但要把持烂用,大批的工具写在视图中,感到就欠好了,但关于开辟来讲,的确便利了很多。
3、能够在视图中利用部分服务器控件,还能够绑定命据。偶而用一下何尝不成,和上一条相似,本人把持不要烂用,不然用WebForm好了。
4、能够用Linq查询数据库和创建模子,对数据库的操纵更间接一些了。
5、视图文件的编写撑持语法高亮和代码主动提醒完成,爽多了。不知是否是我的版本有成绩,偶而会掉灵。我但是下的官方90天试用版。
6、完全的IDE撑持,新建项目,新建把持器、视图都有模板可用,MR的IDE撑持欠好。
2、差的感到
1、视图aspx文件带差两个无用的从属文件.cs和.designer.cs,感到很欠好,目次中的文件很乱,是WebForm的遗留。
2、Web.config文件中内容太多、太庞大,弄不懂都设置了些甚么,简单出成绩,幸亏是项目模板匡助设置好的,但要本人修正生怕很难弄分明。
3、没有文档,材料少,网上就那末几篇文章,转来转往,良多写法和语法仍是第一个预览版的,在第二版中已不克不及用了。
4、HtmlHelper太差了,比MR的完美水平要差良多,本人感到MR的FormHelper很完善,基础上没有bug,用起来也很复杂,但ASP.NET的HtmlHelper每个都有良多的重载,参数弄得很庞大,有的重载之间另有抵触,出格是有一些很奇异的写法一时很让人摸不着思想。
好比:Html.Select,我们必要设置的项目一样平常包含,文本字段和值字段,这两个是必须的。写法以下:

ASP.NET网页设计ASP.NET MVC 进修备忘录仓酷云
登录/注册后可看大图

<br>Html.Select("selectName",objDatasource,"textField","valueField",objValue)这个输入有几个成绩:
1、而输入时是把textField的值输入成select的value属性,而valueField的内容输入成select的text属性,不知是我了解的有成绩,仍是参数定名成绩,以为很别扭。
2、最初一个参数objValue,有两种重载情势,一种为object,另外一种为IEnumerable范例,用来设定select标签确当前选定值。假如间接在这里写上对象的属性,而这个属性是字符串范例,就会堕落,必要写成(object)objValue才干一般运转。很利诱,不知是我那里弄得不合错误,看了一下微软供应的源码,好象的确要这么写才行。有点弄不懂。
3、个中有一个重载情势能够输入htmlAttributes,从而设置输入标签的格局、onclick事务等,是一个字典,之前用MR都是用这类体例来输入,感到很便利,但在这里这个属的字典请求是RouteValueDictionary范例或Dictionary<string,object>范例,也就是值必须是object,假如用Dictionary<string,string>就会堕落。
4、多种重载情势脆而不坚啊,团体感到只需有下面的基础情势,最初再加上一个htmlAttributes就OK了。
5、强范例的视图写起来真是贫苦啊,哪个范例错了都不可,感到还不如MR的傻傻的视图感到好。

下面次要是写的视图(V)及helper的感到,把持器(C)和MR十分相似,过滤器比MR的要好,MR的过滤器是类过滤器只能使用到把持器上,而ASP.NETMVC的过滤器是办法过滤器,把持器过滤是事务,写起来会更简便一些。模子(M)本来是用ActiveRecord,如今是Linq,没有太年夜可比性,Linq的工具撑持要比ActiveRecod上一个品级,也更天真,哲学概念纷歧样,不成类比。没有测试Linq的数据库视图更新功效,这个也很主要,ActiveRecord中利用的办法是设定模子中哪些字段不更新和拔出,如许天生的SQL中只包含一个表的字段,视图天然就能够更新了。

UrlRotue在MR中没怎样用,感到用起来太贫苦了。而ASP.NETMVC是以UrlRotue为基本的,是一等国民,不单单是看起来悦目,更主要的是可重构,以URL表露全部使用中可供应的服务是一种理念上的变更。因为本来没用过这个东东,以是还必要深切研讨和进修。不外,微软一向器重兼容性,这个也不破例,在mvc项目中即便不利用UrlRotue,也不影响开辟和使用,出格是当一些rotue划定规矩不婚配时,会主动天生原生格局的url,这个很不错,下降了进门门坎。

总的感到,这个版本基础能够到达有用的水平了,有些不完美的中央,只需当心地绕过,应当能够一般在项目中利用。但从初版到第二版变更挺年夜的,估量第三版到beta版,再到正式版还会有较年夜的变更,会给项目标保护和晋级带来必定的事情量。
来自:http://www.ckuyun.com/inhesoft/archive/2008/03/23/1118526.html
我实在想不明白net网页编程的机制,为什么非要那么蛋疼,在同一个平台下重复编译。
作者: 谁可相欹    时间: 2015-1-21 09:11
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
作者: 莫相离    时间: 2015-1-24 15:13
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
作者: 活着的死人    时间: 2015-1-31 07:41
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
作者: 金色的骷髅    时间: 2015-2-6 18:27
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
作者: 灵魂腐蚀    时间: 2015-2-9 22:54
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
作者: 海妖    时间: 2015-2-27 21:08
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
作者: 分手快乐    时间: 2015-3-5 03:30
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
作者: 再见西城    时间: 2015-3-11 23:05
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
作者: 冷月葬花魂    时间: 2015-3-15 23:17
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
作者: 小妖女    时间: 2015-3-22 18:07
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
作者: 小女巫    时间: 2015-4-16 07:36
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
作者: 再现理想    时间: 2015-4-21 16:05
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
作者: 深爱那片海    时间: 2015-5-1 02:11
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
作者: 若天明    时间: 2015-6-20 23:43
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者: 仓酷云    时间: 2015-6-28 21:55
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
作者: 柔情似水    时间: 2015-7-7 03:37
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
作者: 蒙在股里    时间: 2015-7-7 17:11
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
作者: 乐观    时间: 2015-7-10 20:30
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2