ASP.NET MVC技术分享,最新应用实例!为您介绍ASP.NET MVC各版本使用,模板使用,路由配置,常见web应用及错误处理!
1月1
ASP.NET MVC实例下载,开发项目下载!

下载地址:http://mvcmusicstore.codeplex.com/

下载地址:http://www.codeplex.com/oxite

下载地址:http://www.codeplex.com/nerddinner

下载地址:http://prodinner.codeplex.com
ASP.NET MVC实例教程,在线教程下载!
1、重典 MVC视频教程http://www.cnblogs.com/chsword/archive/2008/09/29/aspnetmvc_video.html
2、老赵MVC系列课程http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/MVC.aspx
下载地址:http://mvcmusicstore.codeplex.com/
下载地址:http://www.codeplex.com/oxite
下载地址:http://www.codeplex.com/nerddinner
下载地址:http://prodinner.codeplex.com
ASP.NET MVC实例教程,在线教程下载!
1、重典 MVC视频教程http://www.cnblogs.com/chsword/archive/2008/09/29/aspnetmvc_video.html
2、老赵MVC系列课程http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/MVC.aspx
1月5
Html.partial和RenderPartial的用法与区别
Html.partial和RenderPartial都是输出html片段,区别在于
Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的:
MVC2:
<%Html.RenderPartial("PartialView");%>输出到 HttpContext
<%=Html.Partial("PartialView")%> 输出为string 直接到页面
MVC3:
@Html.Partial("BasicChart")
@{
Html.RenderPartial("BasicChart");
}
Html.partial和RenderPartial的其它三个重载很有用,第二个重载@{Html.RenderPartial("BasicChart",model);}
用这个重载可以在部分视图里使用强类型,然后在主视图中使用第二个参数传model过去,而不用controller
比如从list中传其中一项myClass过去
第三个重载用来传ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}%html.renderpartial("partialview");%>%=html.partial("partialview")%>
Html.partial和RenderPartial都是输出html片段,区别在于
Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的:
MVC2:
<%Html.RenderPartial("PartialView");%>输出到 HttpContext
<%=Html.Partial("PartialView")%> 输出为string 直接到页面
MVC3:
@Html.Partial("BasicChart")
@{
Html.RenderPartial("BasicChart");
}
Html.partial和RenderPartial的其它三个重载很有用,第二个重载@{Html.RenderPartial("BasicChart",model);}
用这个重载可以在部分视图里使用强类型,然后在主视图中使用第二个参数传model过去,而不用controller
比如从list
第三个重载用来传ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}%html.renderpartial("partialview");%>%=html.partial("partialview")%>
12月27
Web.Config中诸如数据库地址,用户,密码,敏感配置等信息,为了防止泄露,应该对Web.Config加密,如何对Web.Config加密呢?!看下面的文章
有Web.Config,其中一部分配置如下:
在加密前,先做一些准备工作。
首先引用使用空间
将加密方式定义一下。主要是为了使用方便。
有Web.Config,其中一部分配置如下:
在加密前,先做一些准备工作。
首先引用使用空间
将加密方式定义一下。主要是为了使用方便。
12月25
ASP.NET MVC的页面跳转
当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:
Redirect
RedirectToAction
RedirectToRoute
或者在前台使用脚本跳转。
但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方式肯定是有限制的。
在webform里面,有一种服务器端跳转方式:Server.Transfer,相信大家一定都还记得。这种方式是中止当前页面执行,并将执行流程转入一个新的页面,并使用上一个页面创建的应答流。 这种方式具有如下的特点:
1,地址栏URL不会发生变化。
2,上一个页面后台产生的参数和对象可以直接传递到新的页面。
3,减少客户端对服务器的请求。
我们知道,ASP.NET MVC有一个核心思想,就是“约定胜于配置” ,例如在执行完一个action后,会到view目录下根据controller名称查找对应的view来进行渲染,但是 约定的做法并不意味着不能改变。
对于ASP.NET MVC而言,可以通过动态改变当前Action所渲染的view路径,来实现类似的效果。
渲染非常规路径的View
第一步,先实现一个自定义的ViewEngine:
当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是:
Redirect
RedirectToAction
RedirectToRoute
或者在前台使用脚本跳转。
但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方式肯定是有限制的。
在webform里面,有一种服务器端跳转方式:Server.Transfer,相信大家一定都还记得。这种方式是中止当前页面执行,并将执行流程转入一个新的页面,并使用上一个页面创建的应答流。 这种方式具有如下的特点:
1,地址栏URL不会发生变化。
2,上一个页面后台产生的参数和对象可以直接传递到新的页面。
3,减少客户端对服务器的请求。
我们知道,ASP.NET MVC有一个核心思想,就是“约定胜于配置” ,例如在执行完一个action后,会到view目录下根据controller名称查找对应的view来进行渲染,但是 约定的做法并不意味着不能改变。
对于ASP.NET MVC而言,可以通过动态改变当前Action所渲染的view路径,来实现类似的效果。
渲染非常规路径的View
第一步,先实现一个自定义的ViewEngine:
12月25
【译】MVC3 20个秘方-(20 完结)使用缓存让你的结果加载的更快
问题
随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持
它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度
解决方案
使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。
讨论
在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。
这将自动缓存视图的结果为600秒(或10分钟)并且共享每个用户访问此页。这意味着,如果你有1000名访问者访问在同一页上,可以减少成千上万的请求到数据库。通过简单的加载一个已经完全处理过的view,可以降低IIS的处理时间。输出缓存属性看起来很简单,但是当你开始寻找下边的引擎,它可是汽车盖子下复杂的引擎,除非你是一名机械师。(译者的意思是,你看起来很简单,但是内部实现很复杂).这个属性允许你定义了很多有关如何缓存,从期限到位置,甚至可以添加SQL依赖关系。这将在此配方探讨。
缓存的持续时间很简单:你告诉MVC视图应该缓存多少秒。位置是更复杂,这可能是客户端的浏览器,服务器,或它们的组合。对需要缓存的数据进行分析是确定在哪做缓存的好方法。如果它是个人数据,例如,一个定制的网页,缓存在本地用户的浏览器上是一件有意义的事。虽然缓存是伟大的,但也有局限性。通常情况下,主要的限制是内存,不是一切都可以缓存在服务器上。然而,最有趣的选项是SQL依赖关系。 OutputCache允许数据被缓存,直到它实际上是在数据库中的变化。这是一个非常有用的功能。例如,图书:不会每天都添加一本新书,所以这个持续时间可以被设置成24小时。然而,如果一本书在缓存过期之前就添加了或者1星期也没有新书呢?在第一种情况里,一个新的书不会以正确的方式出现,这可能会使用户不太高兴了。在第二个例子里,请求到服务器是不必要的,因为没有添加的新书。通过启用SQL依赖关系,如果book 的表变化了,缓存会尽快的重置。这完全是我们希望的效果。
提示:这是一个非常不错的功能,在其他编程语言时,你需要手动控制缓存。当数据变化时候你需要自己使缓存失效。在这一点上相信我,很容易你就落下了1-2个,忘记清空缓存。
在下边的例子,缓存将被设置到图书列表页。默认的,如果你不在VaryByPararm字段设置任何的值。MVC3 将自动的为每个可变组合创建一个独立的缓存。这是一个相当不错的功能。
然而,在这本书的例子中,一个关键字搜索字段是作为一个参数被接收的。因为输入的数以百计,而不是成千上万的不同的关键字组合,这个变量不应该被缓存(见上有关内存警告)。相反的params将被定义成排除这个变量。下面是一个更新的BooksController,使此页面上的缓存:
问题
随着您网站的成长,无论是普通的还是动态的内容,这两个因素导致网站载入变慢。许多用户造成了大量的web 服务器和数据库的请求。大量的数据需要强大的数据库处理能力来支持
它。为了防止花了很多钱,只需添加更多的Web服务器,更聪明的编程,以减少不必要的数据库或动态处理请求,可以明显增加你的web应用的整体速度
解决方案
使用OutputCacheAttribute去缓存那些不经常改变或只在具体action改变的数据。
讨论
在MVC3中缓存是非常容易的。简单的添加下边的attribute在一个controller的一个action上。
这将自动缓存视图的结果为600秒(或10分钟)并且共享每个用户访问此页。这意味着,如果你有1000名访问者访问在同一页上,可以减少成千上万的请求到数据库。通过简单的加载一个已经完全处理过的view,可以降低IIS的处理时间。输出缓存属性看起来很简单,但是当你开始寻找下边的引擎,它可是汽车盖子下复杂的引擎,除非你是一名机械师。(译者的意思是,你看起来很简单,但是内部实现很复杂).这个属性允许你定义了很多有关如何缓存,从期限到位置,甚至可以添加SQL依赖关系。这将在此配方探讨。
缓存的持续时间很简单:你告诉MVC视图应该缓存多少秒。位置是更复杂,这可能是客户端的浏览器,服务器,或它们的组合。对需要缓存的数据进行分析是确定在哪做缓存的好方法。如果它是个人数据,例如,一个定制的网页,缓存在本地用户的浏览器上是一件有意义的事。虽然缓存是伟大的,但也有局限性。通常情况下,主要的限制是内存,不是一切都可以缓存在服务器上。然而,最有趣的选项是SQL依赖关系。 OutputCache允许数据被缓存,直到它实际上是在数据库中的变化。这是一个非常有用的功能。例如,图书:不会每天都添加一本新书,所以这个持续时间可以被设置成24小时。然而,如果一本书在缓存过期之前就添加了或者1星期也没有新书呢?在第一种情况里,一个新的书不会以正确的方式出现,这可能会使用户不太高兴了。在第二个例子里,请求到服务器是不必要的,因为没有添加的新书。通过启用SQL依赖关系,如果book 的表变化了,缓存会尽快的重置。这完全是我们希望的效果。
提示:这是一个非常不错的功能,在其他编程语言时,你需要手动控制缓存。当数据变化时候你需要自己使缓存失效。在这一点上相信我,很容易你就落下了1-2个,忘记清空缓存。
在下边的例子,缓存将被设置到图书列表页。默认的,如果你不在VaryByPararm字段设置任何的值。MVC3 将自动的为每个可变组合创建一个独立的缓存。这是一个相当不错的功能。
然而,在这本书的例子中,一个关键字搜索字段是作为一个参数被接收的。因为输入的数以百计,而不是成千上万的不同的关键字组合,这个变量不应该被缓存(见上有关内存警告)。相反的params将被定义成排除这个变量。下面是一个更新的BooksController,使此页面上的缓存:
12月12
12月10
ASP.NET MVC如何访问项目中的静态页面,来自博客园的Lucm Yang有他的项目开发分享!
MVC开发中,因为View文件夹下的web.config文件默认会把任何方法的请求的任何文件,路径都交给 System.Web.HttpNotFoundHandler 去处理.起到Controller统一控制的效果.
现在项目需要用静态页面来做表单,如果在MVC中直接请求一个.html文件的话,等待你的是一个404,必须的。
所以要解决这个问题,看了一下msdn关于Web.config的章节,找到了一个 System.Web.StaticFileHandler 的Handler,看字面的意思估计靠谱,直接放到 NotFoundHandler 前面。
在View中找到这个html文件,点击右键在浏览器中查看,这时没有报404,这样就能在MVC项目中的Views文件夹里访问静态文件了。

MVC开发中,因为View文件夹下的web.config文件默认会把任何方法的请求的任何文件,路径都交给 System.Web.HttpNotFoundHandler 去处理.起到Controller统一控制的效果.
现在项目需要用静态页面来做表单,如果在MVC中直接请求一个.html文件的话,等待你的是一个404,必须的。
所以要解决这个问题,看了一下msdn关于Web.config的章节,找到了一个 System.Web.StaticFileHandler 的Handler,看字面的意思估计靠谱,直接放到 NotFoundHandler 前面。
在View中找到这个html文件,点击右键在浏览器中查看,这时没有报404,这样就能在MVC项目中的Views文件夹里访问静态文件了。
12月3
asp.net mvc在MODEL中控制日期格式
以前总喜欢在页面上用stringFormat的方式来指定日期的显示格式,这样在每个地方都要改一次。
在ASP.NET MVC中可以直接在模型中绑定数据格式,当然就包括日期,今天自己试了一下很方便,做个笔记:
代码 复制 - 运行
这样在view中很强类型就不用管输出格式的问题了
以前总喜欢在页面上用stringFormat的方式来指定日期的显示格式,这样在每个地方都要改一次。
在ASP.NET MVC中可以直接在模型中绑定数据格式,当然就包括日期,今天自己试了一下很方便,做个笔记:
代码 复制 - 运行
这样在view中很强类型就不用管输出格式的问题了








tommyhu:
