Asp.net Mvc开发体会点滴 一

大家中秋快乐,^^,近几日较忙抽点时间把写了快一个星期的日志发出来下,下面有一些是实验验证,有一些的直观感觉,所以难免有错,希望众兄弟指正

以下是这些日子来使用Asp.net Mvc的部分心得与体会

何时使用Helper

其实使用Helper性能不是太高,能免即免,不过可以在以下场合使用

1.存在Url的地方

比如超级连接,Form的Action,图片的Src.因为开发者的UrlRouting可能变化,如果写死,改动成本较大

2.有表单,并且是修改信息的时候

因为<%=ViewData["字段"]%>本身切换显示也很费时,所以不如直接用Html来绑定输出

3.表单中的动太信息DropDownList

因为HtmlHelper已经提供了很好的方法,所以在填充它时还是尽量使用HtmlHelper

对于一般插入型的表单,直接HTML我觉得就比较好了

使用Helper时要注意的问题

1.尽量不要使用RenderAction

RenderAction相当于再执行了一个Action

它的效率选没有Html.RenderPartial好,且无法使用事务,在数据库操作时很是不爽

不过它的使用也算简单,在不要求页面效率时可以使用

2.关于Microsoft.Web.Mvc

在这个程序集中的类都是预计发布的测试版,性能尚不稳定,而且更改的可能性要高很多,所以最好就是尝一下鲜,不推荐使用

提高程序性能

其实这是一个通性问题,在任何的Web架构中都是一样的.

1.尽量使用事务

特别是在写入数据库时,TransactionScope可以有效减少数据库的连接次数

2.各数据库操作共用Connection

在我的程序中,使用了Ado.netEntity,通过Linq to Entities来进行查询,而使用我自定义的数据库类来CUD,经测试二者使用同一个Connection大大的提高了连接数据库的性能.

这个也可以用在Linq to Sql.

架构与模式

其实我觉得Models的含义并不止于实体,其实也有数据的读写功能

将数据的读写封装成类,在适当的Controller中调用其实是一个很好的方法,相信很多朋友已经这么做了.

而封装数据操作我觉得使用Mediator模式比较合适,这样可以将各实体关连,也做到了很好 的分类.

 

这里只是取了部分我想到的问题,如果您同意或者反对,欢迎讨论

时间: 2024-09-13 05:27:09

Asp.net Mvc开发体会点滴 一的相关文章

asp.net-请教ASP.NET MVC开发的网站,在手机浏览器上js点击事件失效的问题

问题描述 请教ASP.NET MVC开发的网站,在手机浏览器上js点击事件失效的问题 之前没有接触过手机浏览器端的东西,一直做的是web方面,最近刚做了一个新项目刚刚上线,是一个挖宝游戏,http://wabao.edushi.com 经理要求把手机端兼容性弄一下让手机端也可以正常使用,但是我发现用手机访问,很多点击事件都失效了,有一部分还是有效的,不明白为什么,我用chrome的toggle device mode,也是某些按钮是有效的某些按钮点了就没反应,console也没报错,完全不知道问

ASP.NET MVC开发人员必备的五大工具

1. Chirpy Zippy 下载地址:http://chirpy.codeplex.com/ 过去,在将JavaScript脚本和CSS文件部署到Web服务器之前,我习惯使用压缩工具进行压缩再部署,安装Chirpy后,你的脚本和CSS文件将会基于其名字自动压缩,例如,假设你有一个名叫myscript.js的脚步文件想要压缩,只要你将其重命名为myscript.yui.js,它就会调用YUI压缩程序自动压缩,压缩后的文件在解决方案资源管理器中显示为一个子项目,你可以继续查看和调试未经压缩的脚本

一起谈.NET技术,ASP.NET MVC开发人员必备的五大工具

1. Chirpy Zippy 下载地址:http://chirpy.codeplex.com/ 过去,在将JavaScript脚本和CSS文件部署到Web服务器之前,我习惯使用压缩工具进行压缩再部署,安装Chirpy后,你的脚本和CSS文件将会基于其名字自动压缩,例如,假设你有一个名叫myscript.js的脚步文件想要压缩,只要你将其重命名为myscript.yui.js,它就会调用YUI压缩程序自动压缩,压缩后的文件在解决方案资源管理器中显示为一个子项目,你可以继续查看和调试未经压缩的脚本

如何利用T4 模板提升ASP.NET MVC开发速度

最近由于需要在框架中提供一些自定义模板的功能,找到了一篇博客,可惜似乎是翻译工具直接翻的,读不通顺,就试着自己翻译下,我不会完全翻译原文的句子,可能会对原文进行小范围的我认为更合适的句子并添加些注释,,原文地址如下: http://blogs.msdn.com/b/webdev/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx 在我们最近的博客中提到的ASP.NET MVC Re

ASP.NET Mvc开发之删除修改数据_实用技巧

之前那篇文章介绍了ASP.NET MVC使用EF来查询数据和EF中DbQuery<T>泛型对象对数据的延迟加载.今天我们就来看看我们怎么使用EF来删除数据. 其实现在的Web开发通用的模式就是前端使用Js和JQuery来和后端进行数据交互.那么我们就在前端来加两个删除和更新的脚本.代码如下: <!--遍历 Action方法 设置给 ViewData 的集合数据,生成HTML代码--> @foreach (BlogArticle a in ViewData["DataLis

asp.net webform 与asp.net mvc 开发总结

asp教程.net webform 与asp.net教程 mvc 开发总结 1. 我新建立了mvc 工程 将原来网站的页面都复制过来 2. 发现 编译通不过 首先是类库文件找不到(原来在app_code文件夹下面)    解决办法:新建立一个文件夹 例如:mycode 将原来app_code文件夹下面的类  拷贝到新文件夹      (备注:mvc可能不能自动识别app_code目录) 3. 再编译 发行找不到类的问题解决了 但还有其他的问题 就是页面的后台代码找不到页面上的控件    难道是命

ASP.NET Mvc开发之查询数据_实用技巧

对于.NET平台上开发WebForm项目,程序员操作数据的方法主要是通过使用ADO.NET.而我们MVC操作数据库呢?与ADO.NET相比又有怎样的优势呢? 一.大家都在谈的EF到底是什么? EF,全称EntityFramWork.就是微软以ADO.NET为基础发展的所谓ORM(对象关系映射框架,或者说是数据持久化框架). 简单的来说就是根据实体对象操作数据表中数据的一种面向对象的操作框架,具体的底层也是调用ADO.NET. 下面我们就来演示怎么使用EF来操作数据库: 在数据库关系图中,表之间的

如何使用ASP.NET MVC开发混合移动应用

Apple的应用商店现已有超过50万的应用,Android也接近这个数字,而新贵Windows Phone近期也超过了5 万,并且还在快速发展中. 移动应用行业:市场分化带来的挑战 在这个令人振奋的背景下,我 们能够确信,不久的将来移动平台上将出现大量行业应用.与机遇相随的是,移动应用开发也将面临着它自身 的一系列挑战. 主要的挑战之一是市场分化的问题.2012第三季度的调查显示,移动操作系统市场的 分化问题非常严重.在这个季度所售出的设备中,Android的各种型号占了大约72%,iOS占了大

[5]Telerik Extensions for ASP.NET MVC 开发问题

1.Controller获取不到checkedNodes的问题 HTML @(Html.Telerik().TreeView()        .Name("TreeView")        .ShowCheckBox(true)Controller [AcceptVerbs(HttpVerbs.Post)] public ActionResult CheckBoxSupport(List<TreeViewItem> TreeView_checkedNodes)//命名规