[翻译]jQuery ajax with asp.net mvc preview 5

原文地址:jQuery ajax with asp.net mvc preview 5
原文作者:Chris van de Steeg

最近花了一点时间来将我的jquery4mvc项目更新到preview 5,以适应mvc p4到mvc p5的一些改变。阅读此文请确定阅读了scott’s post 介绍的preview 5的新特性。他也将在不久发布关于ajaxhelpers的文章。如果你想跳过阅读而直接下载jquery4mvc:请点击 codeplex

jquery4mvc Javascript包只包含了3个javascript文件,并允许使用微软默认的AjaxHelper。你只需要把这3个文件拷贝到你的Content目录中并在head节中引用它们,就可以替代MicrosoftAjax.js和MicrosoftMvcAjax.js。jQuery 可以完美的替代MicrosoftAjax来完成所有的AJAX功能。令人兴奋的一点是,它将对你的ajax链接支持前进与后退按钮。

image 

这样,我们可以继续像以前一样使用AjaxHelper 的功能。虽然在preview 5中AjaxHelpers 有一些变化,如果你没有更新AjaxHelper,你仍然可以通过Scott Hanselman 的文章ASP.NET MVC Preview 4 - Using Ajax and Ajax.Form 的介绍来了解它。需要注意的改变就是在preview 5中你不能在AJAXOptions中使用inline javascript,现在你必须指定方法的名称。你也可以下载整个jQueryMvc项目,它包含了一个网站示例来展示jQueryMvc的特性。

讨论的更多的其实是项目中的.js文件!这个项目的目的是为了当你想创建一个基于mvc的Ajax应用程序时,可以更快的实现并运行它。我们使用了统一的默认的Ioc容器。

我想为你准确的描述这个项目是什么是非常困难的,最好的方式只要浏览一下示例网站的代码,这里我还是作一个简要的介绍。首先,我们有一个DefaultView视图引擎。如果你用[DefaultView] 属性标记你的控制器,如下:

image1

如果你打开示例的/Home/Index,Index视图将默认的被搜索到。如果没有发现它,DefaultView视图引擎将搜索指定的视图名(如示例中的default)。你的视图使用的什么视图引擎没关系,它将为所有的视图工作。可以这样做吗?我们来看一下示例中的视图目录结构。

image2

你可以看到,大部分的视图只有一个以下划线为前缀命名的ascx 文件。因为当action Home/About, Home/SayHello, Home/Index被调用时,这些视图将不会被检索到,DefaultView视图引擎将打开Shared/Default.aspx。

image3

你可以看到,它只是调用了masterpage。但是可以稍微的想一下,你可以为每个controller创建不同的默认页面。像masterpage一样,如下代码:

image4

 

这个特别的contentplaceholder,像普通的placeholder一样工作。但是,它并不从页面中获取新的内容,它将通过调用视图引擎来打开对就action的对应下划线的视图。所以,如果你调用Home/About,它将调用Home/_About。很神奇吧?其它页面同样,你只需要创建一个ascx文件(或者其它部分假如你使用另外的视图引擎)。这部分视图要被填充到主页面中去。

稍等下,还有更多!如果你使用一个Ajax请求到使用了[AjaxController]属性的controller ,它将只返回.ascx那部分的视图。实在是太好了!与updatepanel 非常相似!

Go to codeplex and download the project to see the ajax-magic I’m so excited about!

源代码也可以到Google code下载:http://code.google.com/p/jquerymvc/source/checkout

示例网站的在线演示:http://www.chrisvandesteeg.nl/demo/jquerymvc5/

posted @ 2008-10-04 14:46 太阳 阅读(1535) 评论(6)  编辑 收藏 网摘 所属分类: ASP.NET MVC

  回复  引用  查看    
#1楼 2008-10-04 15:58 | 孙茹苹      
十分不错。


苹果小说 http://www.apptxt.com
  回复  引用  查看    
#2楼 2008-10-04 16:25 | 郁闷的翩翩      
很好的文章。
楼主是使用的Live Writter么?
图片好像没处理好,其实你粘贴图片后可以直接在右边选择“原始尺寸”,就会显示正常了。
  回复  引用  查看    
#3楼 [楼主]2008-10-04 16:46 | 太阳      
@郁闷的翩翩
是用的live writter,谢谢提醒。
  回复  引用  查看    
#4楼 2008-10-04 20:31 | Q.Lee.lulu      
哇哈哈,好东西....
太阳也翻文章了,嘿嘿。顶起.......
  回复  引用  查看    
#5楼 [楼主]2008-10-04 21:20 | 太阳      
@Q.Lee.lulu
嘿嘿,试着玩玩,还在这边闭关修炼的结果
  回复  引用    
#6楼 2008-10-06 09:01 | libinqq [未注册用户]
天太阳发文章,来之不易啊

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-10-04 17:51 编辑过
Google站内搜索

相关文章:

相关链接: