来一篇关于NET的详解ASP.NET MVC进门级实例教程
不过你如果学.net的话,你就不要选os了,这课比较底层的。你可以旁听数据库加上软件构件和中间件。(webservices和面向服务的课也应该听一听)<p>关于ASP.NETMVC,良多开辟者持接待的立场。不外在吸引了更多人眼光的同时,我们也应当看到有良多开辟人还不太懂得ASP.NETMVC。本文的感化在于给人人一个复杂易懂的ASP.NETMVC教程。ASP.NETMVC1.0公布有段儿工夫了,刚公布不久的时分试用了一下,做了一个复杂的BBS,如今总结一些履历和小技能和人人分享。网上关于ASP.NETMVC的系列教程有好几个,以是就不重新入手下手先容了,开头处给人人保举了几个链接,必要的话能够重新体系的看看。
1、ASP.NETMVC先容及与ASP.NETWebForm的区分
详解ASP.NETMVC数据考证的一个特别办法详解ASP.NETMVCPRG数据考证浅析ASP.NETMVC中关于URLRewrite的完成开辟热门周报:Windows7代码年夜赛ASP.NE详解ASP.NETMVC中DropDownList的利用
刚入手下手为了弄分明ASP.NETMVC究竟值不值得用,翻来覆往想了一个多星期,看了很多多少材料和批评,最初决意仍是值得一用。MVC不是一个复杂的计划形式,更像一种架构形式,大概一种头脑,刚入手下手一听MVC想到的就是模板引擎,NVelocity,StringTempleate等,但感到假如只是为了用模板这类自力的前台计划体例,没需要用ASP.NETMVC,年夜多半情形用Repeaterk控件和自界说控件儿就可以做到,并且ASPX页面上原本就能够写c#代码,一些对照庞大的界面体现逻辑用一般的WebForm也能完成,实在ASP.NETMVC的VIEW部分默许用的仍是aspx的剖析器。ASP.NETMVC的View部分让你写一些年夜型的,结构庞大的网站更便利,更底层,更间接,很受对css,js很熟习的开辟者的接待。
当你了解了MVC的头脑后,会发明ASP.NETMVC的优点真正在于Controller和Action,你写一段代码能很明白的晓得是在处置甚么哀求,究竟web程序处置的是一个一个的http哀求,不像windows桌面程序,基于事务驱动更直不雅。ASP.NETMVC的Controller让你写一些webapi大概rest作风的接口很便利(之前大概要用HttpHandler来做),这些Controller只卖力供应数据(详细的ActionResult类,如JsonResult,JavascriptResult等)给利用者,好比一个Ajax挪用,大概View层。
至于Model层,我看网上年夜多半人是用LINQTOSQL完成的,究竟利用起来很复杂,计划好表,用LINQ计划器往vs.net里一拖就可以用了。并且自己就是强范例的,再在主动天生的代码上加一些分部办法,就能够完成数据的无效性考证等。另有就是对LINQ做的Model举行数据耐久化和查询的时分更便利,间接用DbContext一个类,增编削查万能弄定。
有得就有舍,ASP.NETMVC固然供应了先辈的头脑和一些便当,但ASP.NET之前的一些器材不克不及用了,好比之前本人写的一些服务器控件儿不克不及用了,WebPart,皮肤,各类数据绑定控件等都不克不及用了,但Master页还能用,Asp.netAjaxcontroltoolkit(服务端)也不克不及用了,但asp.netajaxlibrary(客户端js库)还能持续利用,基于页面和目次的受权不克不及用了(由于如今没页面,只要view了),但MemberShip和Forms身份考证仍是撑持的。尺度WebForm的性命周期变了,好些事务没了,如今你能够写一些拦阻器(Action拦阻器、Result拦阻器和Exception拦阻器)来影响哀求的处置历程,另有一些区分,总之得到的器材,都有变通的办法能找吧返来。
2、linqtosql怎样猎取拔出语句发生的标识列的值?
实在很复杂,把工具拔出数据库后,间接取值就好了,以下BBSPost是一个实体类,个中PostID在数据库里是自增列。
<OLclass=dp-c>vardb=newBBSDbContext(connstr);BBSPostpost=newBBSPost()post.PostUser=User.Identity.Name;post.PostTime=DateTime.Now;db.BBSPosts.InsertOnSubmit(post);db.SubmitChanges();intpostid=post.PostID;//这里就可以取到标识列的值。
3、ASP.NETMVC里在哀求提交后怎样后保持转动条地位?
在WebForm里再复杂不外了,在web.config里设置MaintainScrollPositionOnPostBack=true就弄定了,但在MVC里就不可了。我们晓得了道理后,能够本人完成,实在就是在提交表单大概转动条转动的事务里捕捉以后转动条的地位,把数值放在一个埋没域里,提交给服务端,服务端应对后,从埋没域里掏出转动条的地位,用js利用转动条转动到前次的地位。
我们先在View里写一个埋没域,以下
<OLclass=dp-xml>
然后在处置客户端哀求的action里给ViewData里存储一下提交下去的值(从FormCollection里取)。
<OLclass=dp-c>publicActionResultreply(BBSPostpost,FormCollectioncoll){...ViewData["scroll"]=coll["scroll"];...returnView("show_post",posts);}
如许页面提交后埋没域里就会保留着提交前转动条的地位,然后我们在用JQuery写一些逻辑完成终极的效果。
<divclass="code"><OLclass=dp-xml>$(function(){$(document).scroll(function(){//在转动条转动的时分更新埋没域里转动条的地位值,经测试不撑持IE8$("#scroll").val(document.documentElement.scrollTop);});$("form").submit(function(){//在表单提交的时分更新埋没域里转动条的地位值$("#scroll").val(document.documentElement.scrollTop);returntrue;});//在document.load事务里掏出埋没域的值,并设置转动条的地位 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
页:
[1]