Pages: 4/9 First page Previous page 1 2 3 4 5 6 7 8 9 Next page Final page [ View by Articles | List ]
Mar 18
ASP.NET MVC 3.0 +Jquery 实现图片上传、剪辑、缩略、水印,代码分享如下:
上传

剪辑图片
Mar 18
ASP.NET MVC 4 beta中包含了一个实验项目,用作开发“单页面应用程序(single page applications)”。该项目也称为ASP.NET SPA,其项目类型基于一组开源库以及WPF、Silverlight上流行的MVVM模式。
浏览器端
位于浏览器端技术组底部的是著名的jQuery库,与之一起的还有Unobtrusive Ajax、jQuery UI和jQuery Validation插件。
接下来的技术是Upshot。它是构建于jQuery和Knockout之上的数据访问和缓存库。在示例代码中,你会看到有一个与knockout兼容的视图模型被自动生成。它的内部是基于Upshot的函数,用作处理与服务层的通信。另外它还包含用于驱动UI的代码。(SPA的视图模型类似XAML技术,如此看来,这块地方很快会充斥各式各样的代码。)
MVVM风格的数据绑定使用Knockout框架完成。与基于XAML的技术类似,Knockout提供了声明式的数据绑定,它在当数据和视图模型基于暴露属性更改事件的observables 时,可以完美的进行工作。此外,你不需要显式地引发事件,即使对计算属性也是如此。绑定过程与设置控件的DataContext属性不同,你需要调用ko.applyBindings完成。然而这并不妨碍子控件拥有不同的数据上下文,面对这种情况只需简单地为它们使用“with”或“foreach”绑定即可。其中“with”绑定类似于将控件的DataContext绑定到视图模型中的属性,而后者“foreach”本质上创建了一个项目集合控件。
位于技术组顶端的是nav.js,它是微软新推出的一个库。
服务器端
服务端的应用程序框架由普通的MVC页面表示,而应用程序内的各种视图由分离页面(partial pages)表示。在示例中,Knockout数据绑定用作动态地显示和隐藏这些页面。
大部分服务端数据访问都由抽象类DataController处理。DataController是ASP.NET Web API中ApiController的子类,后者提供了客户端向服务器提交ChangeSetEntry的基本方法。喜欢使用存储过程或者第三方ORM的开发人员,可以直接继承该类;而熟悉Entity Framework的开发人员可以使用DbDataController。Visual Studio的脚手架支持(scaffolding support)可以为后者自动生成附带基本CRUD操作的代码。
查看英文原文:http://www.infoq.com/news/2012/02/SPA
InfoQ中文原文:http://www.infoq.com/cn/news/2012/02/SPA
Mar 18
在MVC中,一般使用Controller(IController)对客户端的请求进行响应; 其实我们也可以使用IHttpHandler来接受请求和响应。
实现的方式非常简单,一共三步:
首先得定义一个类(例如PlainHttpHandler),并实现IHttpHandler接口;

定义一个类(例如PlainRouteHandler),并实现IRouteHandler接口;

在Global.asax.cs的RegisterRoutes函数中,添加一个Route;指定匹配的url及IRouteHandler为PlainRouteHandler;

运行结果如下:
Highslide JS
Dec 27
Web.Config中诸如数据库地址,用户,密码,敏感配置等信息,为了防止泄露,应该对Web.Config加密,如何对Web.Config加密呢?!看下面的文章
有Web.Config,其中一部分配置如下:

在加密前,先做一些准备工作。

首先引用使用空间

将加密方式定义一下。主要是为了使用方便。
Dec 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:
Dec 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,使此页面上的缓存:
Dec 12
Highslide JS
ASP.Net MVC从客户端中检测到有潜在危险的 Request.Form 值。
ASP.Net MVC从客户端中检测到有潜在危险的 Request.Querystring值。

解决方法如下
web.config设置

controller设置

ACTIONRESULT设置



如果以上都不行的话就野蛮控制下吧
Pages: 4/9 First page Previous page 1 2 3 4 5 6 7 8 9 Next page Final page [ View by Articles | List ]