|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不过你如果学.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事务里掏出埋没域的值,并设置转动条的地位 |
|