很多人都希望在SharePoint页面上能让某个部分能"局部刷新",也就是说,这个部分的内容在刷新的时候,不会造成整个页面的Postback。为了快速演示大致的实现方法,在周末的时候做了一个用来示范的项目,它实现的功能很简单:
1、提供给用户一个下拉框,列出当前网站所有的文档库,用户可以选择一个文档库,并载入此文档库的文件夹架构。
2、文件夹结构通过一个TreeView来进行展现。
3、当用户在TreeView上点击一个文件夹节点时,将文件夹所包含的文件显示在一个Grid Table中。
4、在Grid Table中,包括了分页、排序、搜索等功能。
5、上面的所有从SharePoint系统中载入数据的操作,都不会引发页面刷新,而是通过异步AJAX方式从SharePoint系统中获取所需的数据。载入数据的过程中,用户的页面操作不会被打断。
这个示范的实现思路大致如下:
1、为了能让SharePoint系统对外发布所需的数据,需要在服务器上创建几个定制的接口。虽然SharePoint内置了Web Services接口,但其中不一定会包含我们所需的接口方法。在这个示范中,为了简单起见,我直接创建了几个.ashx Http Handler,客户端的代码可以通过直接访问这几个.ashx文件,来调用服务器端的接口。
2、这几个.ashx文件会以JSON格式纯文本方式,将客户端请求的数据返回。选择JSON格式的理由是,它足够简单且通用,在这里示范的场景中,其表现力足够用了。另外一个选择JSON的理由是,我打算在页面上使用jQuery来调用服务器端的接口,而jQuery对JSON格式的数据有很好的处理能力。
3、客户端页面上的展现,没有创建自定义Web Part,而是用HTML + JS的方式,来访问服务器端的服务接口,获取到所需数据,并将界面呈现给用户。简单来说,就是AJAX啦。我选择使用jQuery,并利用了jQuery异步AJAX的能力,实现异步请求、无刷新、不阻塞用户页面操作的效果。
4、为了方便快速的实现TreeView、Grid Table、Dialog等界面效果,我直接找了三个jQuery插件:TreeView、DataTables和FancyBox。
为了帮助大家更容易了解这些思路,我录了一个简短的视频。
下载WMV格式视频
下载示范项目源码
在SharePoint 2010中,其内置提供的Client OM包含了ECMAScript(JavaScript)类库,这样开发人员可以直接使用这些类库,通过页面脚本的方式访问SharePoint 2010网站数据。
Enjoy SharePoint !
之前的博客我介绍过如何做一个动画,以及渐变风格动画,关键帧动画。我们如果仅仅使用这些知识做一个模拟现实的动画,仍然是比较复杂的,比如:我们要实现一个篮球掉下再弹起,再掉下,再弹起的动画。或者我们要实现一个类似钟摆的动画效果,它需要我们去研究物理学,数学的知识,Silverlight 3 内置了11中Animation Easing,它可以让我们更容易的实现一些常见的动画效果。
这内置的11种Animation Easing 动画效果是:
- 倒退缓冲(BackEase):让动画在继续之前往后退一点。这有点象在斜坡上启动汽车,会往后倒退一点然后才前进。
- 弹跳缓冲(BounceEase):有弹回效果的动画,类似我们前面提到的篮球落下,弹起,再落下,即弹跳反冲。
- 圆缓冲(CircleEase):创建使用循环函数加速和/或减速的动画。 基于三角函数(圆函数)来加速动画,一开始的加速度比较慢,越往后加速度越快。
- 立方体缓冲(CubicEase):创建使用公式
加速和/或减速的动画。 与圆缓冲类似,但是是基于立方体函数的时间来产生一个一开始加速度较慢然后越来越快的动画。 - 伸缩缓冲(ElasticEase):创建表示弹簧在停止前来回振荡的动画。类似于弹跳缓冲(BounceEase),它会让一个值摆动直到停下为止。
- 指数缓冲(ExponentialEase):创建使用指数公式加速和/或减速的动画。类似于圆缓冲和立方体缓冲,只是加速度的值是按照指数来变化的。
- 乘方缓冲(PowerEase):创建使用公式
(其中,p 等于 PowerEase.Power 属性)加速和/或减速的动画。这是一种指数缓冲,缓冲的值与时间的乘方成比例。 - 平方缓冲(QuadraticEase):创建使用公式
加速和/或减速的动画。非常类似于CubicEase,除了在这个缓冲中,值是基于时间的平方。 - 四次方缓冲(QuarticEase):创建使用公式
加速和/或减速的动画。类似于Cubic和Quadratic,只是值是基于时间的立方。 - 五次方缓冲(QuinticEase):创建使用公式
加速和/或减速的动画。类似于Cubic、Quadratic和Quartic,值基于时间的五次方。 - 正弦缓冲(SineEase):创建使用正弦公式加速和/或减速的动画。沿着正弦波来对值进行加速。
另外 Animation Easing 还有一个缓动模式,它是下面三个枚举之一,用于决定Animation Easing 的行为方式,参看:
http://msdn.microsoft.com/zh-cn/library/system.windows.media.animation.easingmode(VS.95).aspx:
- EasingMode.EaseIn:内插遵循与缓动函数相关联的算术公式。
- EasingMode.EaseOut(默认值):内插遵循 100% 内插减去与缓动函数相关联的公式输出。
- EasingMode.EaseInOut:内插将 EaseIn 用于动画的前半部分,将 EaseOut 用于动画的后半部分。
下面是一个经典的演示这11中动画效果的例子,例子来自: http://www.shinedraw.com/animation-effect/11-storyboard-animation-easing-demonstration/ 那里也有这个例子的源码下载:
在下面,点击每种动画对应的图标,根据选择的动画类型,持续时间就会演示这个动画。
参考资料:
译文:Silverlight 3.0 新功能之二 : 动画缓冲(Animation Easing)
http://www.cnblogs.com/arthur008/archive/2009/05/21/1466417.html
稳扎稳打Silverlight(37) - 3.0动画之Easing(缓动效果)
http://www.cnblogs.com/webabcd/archive/2009/08/20/1550334.html
Silverlight动画概述
http://msdn.microsoft.com/zh-cn/library/cc189019(VS.95).aspx
微软官方网站Animation Easing的例子
http://samples.msdn.microsoft.com/Silverlight/silverlight_next/Animations/easing_functions_gallery/testpage.html
Silverlight 3's New Animation Easing
http://www.wintellect.com/CS/blogs/jprosise/archive/2009/03/26/silverlight-3-s-new-animation-easing.aspx
Easing in Silverlight and WPF
http://www.kirupa.com/blend_silverlight/easing_sl_wpf_pg1.htm
Silverlight 3.0: Easing Functions
http://www.silverlightplayground.org/post/2009/03/18/Silverlight3-Easing-Functions.aspx
Silverlight 3 Quick Tip #3: Creating custom easing for Silverlight animations
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2009/03/19/silverlight-3-quick-tip-3-creating-custom-easing-for-silverlight-animations.aspx
Easing animations in Expression Blend
http://simplesilverlight.wordpress.com/2008/03/18/easing-animations-in-blend/
11 Storyboard Animation Easing Demonstration
http://www.shinedraw.com/animation-effect/11-storyboard-animation-easing-demonstration/
Easing Function In Blend 3 In Silverlight 3
http://www.c-sharpcorner.com/UploadFile/dpatra/EasingFunctionInBlend307102009134910PM/EasingFunctionInBlend3.aspx
下面是一些搜索引擎优化的基础知识:
影响搜索引擎排名的主要因素:
内部因素:
跟关键字有关的内部因素:
- URL中出现关键字;
- 网页Title中出现关键字;
- 常规内容中出现关键字;
- 在页面的第一段中出现关键字;
- 在页面的最后一段中出现关键字;
- 在Heading 标签中出现关键字,比如: H1,H2等标签;
- 站内的链接中出现关键字;
- 导向相关内容的导出链接出现关键字;
- 导出链接中出现关键字;
- 图片文件名中出现关键字;
- alt 标签中出现关键字;
- 注释中出现关键字;
- 关键字进行适当的装饰(加粗、斜体等)
其他内部因素:
外部因素:
- 大量的导入链接;
- 从高PR值得网页获得导入链接;
- 从相关内容网站获得导入链接;
- 导入链接指向的网页有具体内容;
- 锚文字中有关键词;
- 锚文字周围有相关词;
- 锚文字存在于文章或句子中;
- 导入链接的时间长度,一般导入链接的存在时间有3-6个月;
- 单向链接的价值高于交换链接;
- 导入链接的页面的导出链接小于100个,流出链接越少越好;
- 链接来自不同IP;
- 合理的导入链接增长频率;
要完全避免的做法:
- 关键词堆积;
- 所有的锚文字都相同;
- 使用CSS或背景色隐藏内容,这是十恶不赦的大恶;
- 使用JavaScript跳转;
- 相同ip之下的网页直接进行大量交换链接;
- 桥页和Cloaking,诱导搜索引擎的爬虫,这是十恶不赦的大恶 ; 参看: http://baike.baidu.com/view/1979085.htm
- 成人内容,违禁药品,赌博相关内容;
- 内容重复;
- 连向作弊的网站;
- 站内的绝大部分网页有相同的网页title;
- 加入到Link Farm或则Link交换类网站;
- 使用被惩罚过的域名;
- 网站建立在被惩罚的IP上;
- SEO做的过于明显;
- 大量网页标题重复或相似
要尽量避免的做法:
- 地址中存在动态变量;
- 单一图片和Flash的网站;
- 用Javascript、Flash、Silverlight制作的网站导航条或目录;
- 用图片做网站导航而不加ALT标签;
- 〈head〉〈/head〉之间有太多的代码;
- 存在太多与网站主题无关的内容;
- 导入链接中购买链接占多数;
- 和作弊的网站在同一服务器上;
- 搜索有一批重大恶疾的黑名单,躲开这些网站;
- 内容页较多采用论坛列表方式,标题直接链接到论坛帖子。
参看百度百科的描述: http://baike.baidu.com/view/7147.htm
需要注意的是:SEO不是几句话或一个方案就完事了,而是一个非常系统的工程。对于任何一次策划和方案,都需要前期大量的工作。这至少应该包括下面项:
- 竞争对手分析;
- 网站结构分析;
- 关键词定位;
- 链接检查;
- SPAM清除;
下面这篇是一个有点意思的网站结构分析文档:
http://www.admin5.com/article/20070309/36970.shtml
上面提到的一些名词解释
PageRank:
PageRank ,也简称 PR, 简单来说就是Google标识网页重要性等级的一个数值。它的具体算法比较复杂,而且Google一般一年更换四次PR的算法。
网上有简化的,根据外链的数量和质量来计算PageRank的算法存在,比如下面这篇文章描述的算法:http://community.mybbchina.net/thread-141.html
虽然我们不能知道具体算法,但是影响Google PageRank的主要因素确是可以知道的,如下:
- 与pr高的网站做链接:
- 与内容质量高的网站链接
- 加入搜索引擎分类目录
- 加入免费开源目录
- 你的链接出现在流量大、知名度高、频繁更新的重要网站上
- Google对PDF格式的文件比较看重。
- 安装Google工具条
- 域名和tilte标题出现关键词与meta标签等
- 反向连接数量和反向连接的等级
- Google抓取您网站的页面数量
- 导出链接数量
参看百度百科的描述:http://baike.baidu.com/view/260976.htm
MIX 2010 大会上发布了 Silverlight 4 RC。 以前因为 VS2010 RC 暂时不支持 Silverlight 4,一直没有装VS2010 RC。 现在终于可以装了。
下面就是安装的一些注意事项:
首先当然是卸载之前的版本,包括下面罗列的这些卸载项,卸载一定要卸载干净才好安装:
Microsoft Expression Blend Preview for .NET 4
Microsoft Expression Blend SDK Preview for .NET 4
Mircosoft Expression Blend 3 SDK
Microsoft Silverlight 4 Tools for Visual Studio 2010 Beta 2
Microsoft Silverlight 4 Beta SDK
Mircosoft Silverlight
Mircosoft Silverlight 3 SDK
WCF RIA Services Preview for Visual Studio 2010 (这个要优先删除,否则一旦.NET Framework 4删除后,这个就没法卸载了)
Microsoft Visual Studio 2010 Ultimate Beta 2 - ENU
Microsoft .NET Framework 4 Extended Beta2
Microsoft .NET Framework 4 Client Profile Beta2
Microsoft .NET Framework 4 Multi-Targeting Pack
Microsoft .NET Services SDK(March 2009 CTP)
Microsoft ASP.NET MVC 2
Microsoft ASP.NET MVC 2 - Visual Studio 2010 Tools
Microsoft Help 3.0 Beta2
Microsoft SQL Server Compact 3.5 SP2 Beta English
Microsoft Sync Framework Runtime v1.0 SP1 Beta(x86)
Microsoft Sync Framework SDK v1.0 SP1 Beta
Microsoft Sync Framework Service v1.0 SP1 beta(x86)
Microsoft Sync Service for ADO.NET v2.0 SP1 Beta(x86)
Microsoft Team Foundation Server 2010 Beta 2 Object Model - ENU
Microsoft Visual C++ 2010 Beta 2 x86 Runtime - 10.0.21006
Microsoft Visual F# Runtime 1.0
Microsoft Visual Studio 2010 ADO.NET Entity Framework Tool Beta 2
Visual Studio 2010 Beta 2 Tools for SQL Server Compact ENU
Visual Studio 2010 Tools for Office Runtime Beta 2 (x86)
Windows Azure Tools for Microsoft Visual Studio 2010 1.0 (11/2009) Beta 2
VS2010 RC 版的安装:
下载并安装 Microsoft Visual Studio 2010
http://www.microsoft.com/downloads/details.aspx?FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a&displaylang=en
下载并安装3个VS2010 RC的补丁
这部分信息可以参看下面两篇Scott的博客
http://blog.joycode.com/scottgu/archive/2010/02/16/115889.joy
http://blog.joycode.com/scottgu/archive/2010/03/14/115909.joy
KB980610 (VS 2010 RC版Intellisense崩溃问题的补丁)
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26662&wa=wsignin1.0
KB980920 (修补了工具提示调用和停留于标识符之上时崩溃问题的补丁)
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27019
KB981167(修补了Web Forms设计器不能向自动生成的设计器文件中正确添加控件问题的补丁)
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27117&wa=wsignin1.0
Silverlight 4 Tools for VS2010RC
下载并安装Silverlight 4 Tools for Visual Studio 2010(March 2010版)
该Tools会同时安装Silverlight Developer runtime、 SDK、 tools、 和 WCF RIA Services
Silverlight 4 Tools for Visual Studio 2010
这部分信息可以参看: http://www.silverlight.net/getstarted/silverlight-4/
Blend 4
下载并安装 Expression Blend™ 4 Beta。 这个版本才是上面版本Silverlight4可用的。
http://www.microsoft.com/downloads/details.aspx?FamilyID=6f014e07-0053-4aca-84a7-cd82f9aa989f&displaylang=en
一些你可能用到的支持 Silverlight 4 RC 的Toolkit
WCF RIA Services Toolkit March 2010
http://www.microsoft.com/downloads/details.aspx?FamilyID=7b43bab5-a8ff-40ed-9c84-11abb9cda559&displaylang=en
Silverlight Toolkit
http://silverlight.codeplex.com/
Silverlight 4 RC 的改进
Ensuring That Your Silverlight Applications Work with Silverlight 4
http://msdn.microsoft.com/en-us/library/cc645049(VS.96).aspx
Silverlight 4 RC 相对于 Beta 2 的变化
http://www.cnblogs.com/024hi/archive/2010/03/16/1686828.html
搜索引擎优化对任何面向公众的网站来说都非常重要,ASP.net 4.0 为此就做了大量改造。这些改进包括如下:
301永久性重定向
随着时间的迁移,网站的一些页面地址会发生变化,这会导致搜索引擎收录的链接地址、用户收藏的地址失效。Response.Redirect() 就是解决这个问题的。但是Response.Redirect 有以下问题:
Response.Redirect()方法产生的是个 HTTP 302 跳转,在用户尝试访问老的URL时,会导致多余的HTTP往返。另外搜索引擎一般不会跟随多个跳转,这意味着使用一个临时转向会负面影响你的网页排名。
我之前写过博客,介绍如何实现301跳转,“从HTTP状态 301,302,200 来看页面跳转” 那时候实现 301 跳转比较麻烦,ASP.net 4.0 为此专门增加了Response.RedirectPermanent() 方法用来解决这个问题。
简单来说,如下表所示:
| HTTP状态 | 解释 | 程序代码 |
| 301 | 301 代表永久性转移(Permanently Moved) 即永久性重定向 | Response.RedirectPermanent("test_2.aspx"); |
| 302 | 302 代表暂时性转移(Temporarily Moved ) | Response.Redirect("test_2.aspx"); |
MVC 中也有类似的代码:Response.RedirectToRoute(string routeName) 和 Response.RedirectToRoutePermanent(string routeName)
Head 中的 keywords 和 description
由于搜索引擎优化作弊的原因,现在搜索引擎正在淡化这两个关键字的参考作用。比如这篇博客:“Keywords和Description--SEO高手为什么不用” 就描述了原因。但是如果可以,建议还是设置这两个关键字,ASP.net 4.0 中为方便设置这两个关键字专门做了优化,我们可以通过下面简单几行代码就可以完成动态设置:
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "测试标题";
Page.MetaKeywords = "测试关键字";
Page.MetaDescription = "测试简介";
}
或者在ASPX 文件中如下写:
<%@ Page Language="C#"
Title="测试标题"
MetaKeywords = "这是我的,关键字"
MetaDescription = "这是一个简介"
AutoEventWireup="true"
CodeBehind="Test_2.aspx.cs"
Inherits="WebApplication_CacheOutput.Test_2"
%>
Scott那个例子估计是更早测试版本的,那时候是 Keywords , Description ,而不是 MetaKeywords 和 MetaDescription。
ASP.NET Web Forms也支持了URL导向
简洁、直观的URL,搜索引擎喜欢,用户也喜欢。在ASP.NET 4.0中,URL Routing既可以映射到ASP.NET MVC控制器类,也可映射到基于ASP.NET Web Forms的网页。
你甚至可以在一个项目中,混合使用含有 Web Forms 和 MVC控制器,即:使用单一一套导向规则在它们之间映射URL。
下面是一个简单的例子:
Global.asax 中注册路由规则:
void RegisterRouters(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute(
"my-Test-Route", // 路由名称--随便自己爱好起了
"p/{key}", // 路由规则
"~/WebForm1.aspx" // 该路由规则交给哪一个页面来处理
);
// ...... 当然,你可以继续增加更多的自己的路由规则
}
void Application_Start(object sender, EventArgs e)
{
RegisterRouters(System.Web.Routing.RouteTable.Routes);
}
测试接受请求的页面代码,为了进行测试,我们这里接受所有参数,并显示出来,方便理解:
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("this.Page.RouteData.Values");
sb.AppendLine("<br />");
foreach (var item in this.Page.RouteData.Values)
{
sb.AppendFormat("{0}={1}<br />\r\n", item.Key, item.Value);
}
sb.AppendLine("this.Page.Request.QueryString");
sb.AppendLine("<br />");
foreach (var item in this.Page.Request.QueryString)
{
sb.AppendFormat("{0}={1}<br />\r\n", item, this.Page.Request.QueryString[item.ToString()]);
}
sb.AppendLine("this.Page.Request.Form");
sb.AppendLine("<br />");
foreach (var item in this.Page.Request.Form)
{
sb.AppendFormat("{0}={1}<br />\r\n", item, this.Page.Request.Form[item.ToString()]);
}
Response.Write(sb.ToString());
}
完成上述代码,我们就可以通过不同URL的请求测试了。
比如我们访问 http://localhost:3215/p/abc?s=1 ,测试的结果就是:
this.Page.RouteData.Values
key=abc
this.Page.Request.QueryString
s=1
this.Page.Request.Form
参考资料:
VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇
http://blog.joycode.com/scottgu/archive/2010/01/06/115842.joy
.NET 4的新特性:图表、SEO及可扩展的输出缓存
http://www.infoq.com/cn/news/2010/02/.NET-4-Charts-SEO-Cache
Asp.Net4.0/VS2010新变化(4):SEO的改进
http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679235.html
Asp.Net4.0/VS2010新变化(3):webform中也可以直接url路由
http://www.cnblogs.com/yjmyzz/archive/2010/03/05/1679140.html
[原文发表地址] Beta of VS Team Explorer with Cross Platform Support
[原文发表时间] Thursday, March 04, 2010 9:35 PM
去年11月,我发表过关于我们收购Teamprise 公司资产的文章,Teamprise是我们的一个合作伙伴,为客户提供从Eclipse 和非Windows平台访问Team Foundation Server的功能。
Teamprise 的产品在TFS的客户中非常受欢迎,那些客户的应用程序跨越了微软与非微软的平台。为了节约成本和提供更高的透明性,客户经常想要将一个单独的企业级的解决方案标准化以使用应用程序生命周期管理。Teamprise technology 对于允许跨平台访问TFS是非常关键的。
自从Teamprise technology和其开发团队加入微软之后,我们一直努力为TFS2010引入一些关键的功能,并努力完成高质量的产品发布。
今天我们宣布了Microsoft Visual Studio Team Explorer 2010的Beta版本发布,这个版本包含了Team Foundation Server的Eclipse插件和跨平台的命令行客户端。其支持Windows、Mac、Linux 和UNIX的多个版本,并提供了源码控制、工作项跟踪、自动化构建和报表等多种功能,使用户能与Visual Studio的客户一样从中获益。
下面,你可以看到在Eclipse中一个用户场景的工作项,这个场景的实现被描述成一系列子任务的集合并被连接到这个场景中。它也展示了在“等待变更(Pending Changes)”视图中有两个已签出(checked out)的源文件,并在Team Explorer视图中显示了按文件夹组织的工作项查询的集合,以及Eclipse的导入向导连接TFS将Java 源代码导入Package Explorer。
你可以从这里下载Microsoft Visual Studio Team Explorer 2010的beta版本,并且,你可以一如既往地通过Microsoft Connect site提供反馈信息。
Namaste!
View article...
09年的QCon大会给我的感觉是国内技术大会中技术含量最高的,收获相当丰厚。2010年的QCon大会仍然是非常期待的。
我感兴趣的关键字主要是:架构,RIA,网站案例分析,实战经验。我对这些感兴趣的原因如下:
- 学习架构可以让自己整体把握能力增强,技术人员在一定年份后,深入学习架构是一个几乎无法逃避的路。
- 看别人的网站案例分析,实战经验,可以在其中时不时听到一个小技巧,一个小技巧就可以让自己少走很多弯路,这些技巧可不是通过课本的学习可以学到的,需要有足够的经验积累才能知道,现在有机会让你不用自己去摔跟头知道它,何乐而不为呢?
- 关注RIA(我关注的主要是 Silverlight,因为我有C#的基础,比起Flash,更容易让我入门,而且这种经验也可以用在WPF中)是因为RIA的出现,可以让我做很多以前不敢想象的事情,RIA会带动用户体验的很大的一步进步。
在2010年的QCon大会的日程中我可以看到下面感兴趣的课程:
【原文地址】ASP.NET MVC 2 Released
【原文发表日期】 Thursday, March 11, 2010 9:24 PM
我非常高兴地宣布,针对含有ASP.NET 3.5的VS 2008/Visual Web Developer 2008 Express版的ASP.NET MVC 2最终版发布了,你可以在下列地址下载和安装它:
VS 2010 和 Visual Web Developer 2010的最终版将内置含有ASP.NET MVC 2, 所以,你不需要另外的安装就可以在其中使用ASP.NET MVC 2。
ASP.NET MVC 2
我们在不到一年之前发布了ASP.NET MVC 1版, 自那时起,几乎近百万的开发人员下载并使用了ASP.NET MVC 1的最终版,其人气(popularity)逐月递增。
ASP.NET MVC 2 是 ASP.NET MVC 的下一个重大更新版,它是与ASP.NET MVC 1相兼容的更新版,所以,你所有关于ASP.NET MVC的现有知识,技能,代码和扩展在以后都能继续发挥作用。跟第一个版本一样,我们还在与OSI相容的开源许可下发布了ASP.NET MVC 2的源码。
ASP.NET MVC 2可与ASP.NET MVC 1并行安装(这意味着,你可以在同一台机器上有一些应用是用V1建造的,而另一些是用V2建造的)。在这里,我们发布了一些说明,如何使用VS 2008将你现有的ASP.NET MVC 1应用升级到使用ASP.NET MVC 2。注意,VS 2010有一个自动升级的向导,可以为你自动地将你现有的ASP.NET MVC 1应用迁移到ASP.NET MVC 2。
ASP.NET MVC 2 特性
ASP.NET MVC 2添加了一堆新的功能和特性。我已经动手撰写一个博客系列,讨论其中一些新的特性,在将来还会做更深入地讨论。其中一些新的特性和功能包括:
- 新的强类型HTML辅助方法
- 跨越服务器和客户端的增强模型验证支持
- 通过模板定制来自动生成UI辅助方法
- 将大应用分割成为“区域”的支持
- 启用平行运行长时间运行任务的异步控制器支持
- 使用Html.RenderAction显示网页/网站子部分的支持
- 无穷多的新辅助函数,工具,以及API增强
- 改进了的Visual Studio工具支持
你可以在www.asp.net/mvc网站上的《ASP.NET MVC 2新特性》一文中了解这些特性的详情。
我们不久将在www.asp.net/mvc上发布许许多多的新教程和录像,涉及ASP.NET MVC 2版中的所有特性。我们还将发布一个更新了的,完全用ASP.NET MVC 2建造的全程教程(很象我撰写的涉及ASP.NET MVC 1的NerdDinner教程 )。
结语
ASP.NET MVC开发团队在过去的一年里定期发布了V2预览版以获取对特性集的反馈。我想对试用了预览版和给我们提交了建议/反馈/缺陷报告的每一位说一声,衷心感谢你!
我们希望你喜欢ASP.NET MVC 2的最终版!
Scott
【原文地址】Some VS 2010 RC Updates (including patches for Intellisense and Web Designer fixes)
【原文发表日期】 Monday, March 08, 2010 12:07 AM
【除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。】
我们继续在朝着发布Visual Studio 2010的方向取得进展,我要向下载并试用了VS 2010 RC版的各位,特别是那些给我们发反馈或报告问题的人,表示衷心的感谢。这些数据在发布最终版前,帮我们找到和修补剩下的缺陷上,是非常宝贵的。
上个月,我曾在博客中写到为VS 2010 RC版发布的一个补丁,修补了一个很糟的Intellisense崩溃的问题。上个星期,我们又发布了2个补丁,你可以下载并施用于VS 2010 RC版,即时修补我们看到有人遭遇的另外2个常见问题:
修补了工具提示调用和停留于标识符之上时崩溃问题的补丁
Visual Studio开发团队最近发布了第二个补丁,修补了我们看到在显示工具提示时,通常是在停留于查看QuickInfo工具提示的标识符(identifier)之上时,造成的一些崩溃。
你可以在这个博客贴子中了解这个问题的细节,在这里下载和施用这个补丁。
修补了Web Forms设计器不能向自动生成的设计器文件中正确添加控件问题的补丁
Visual Web Developer开发团队最近发布了一个补丁,修补了web控件无法正确地加到与.aspx文件关联的.designer.cs文件中去的问题,该问题意味着无法在代码后台文件中对这些控件进行编程。
这个问题通常被描述为 “controls are not being recognized in the code-behind(后台代码中无法识别控件)” 或 “editing existing .aspx files regenerates the .aspx.designer.(vb or cs) file and controls are now missing(编辑现有的.aspx文件重新生成了.aspx.designer.(vb or cs)文件,丢失了控件)” 或者 “I can’t embed controls within the Ajax Control Toolkit TabContainer or the <asp:createuserwizard> control(无法将控件内嵌于Ajax Control Toolkit TabContainer或 <asp:createuserwizard>控件中)”。
你可以在这里了解该问题的细节,在这里下载和施用修补这个问题的补丁。
在Windows XP, Vista, Win Server 2003/2008系统中Intellisense和IDE滞缓的常见原因
在过去的几个月中,我们偶尔会看到有人报告说在VS 2010中键入文字和使用Intellisense时遇上巨慢无比的情形,尽管是在蛮不错的机器上运行的。这花了我们不少时间来追查其原因,但我们发现常见的问题所在是这些机器没有安装最新版本的UIA (Windows Automation)组件。
UIA 3 是随 Windows 7一起发布的,在XP 和 Vista上是推荐的Windows Update补丁(我们没有在测试中看到这问题的原因是因为我们的机器都用所有推荐的更新打过补丁了)。但许多系统(特别是XP),并不自动安装推荐的更新,而是以比较老的UIA版本运行的。这会在VS 2010编辑器中,在显示大的列表时(例如:使用intellisense时),导致显著的性能缓慢问题。
如果你是在Windows XP, Vista, 或 Windows Server 2003 或 2008上运行,看到编辑器或IDE任何性能问题的话,请安装免费的UIA 3 更新,它可从这个网页上下载。如果你向下卷动页面,你会发现针对每个OS的版本的直接链接。
注意,我们正在对VS 2010的最终版做改进,这样,在UIA 3没有安装时也不会有大的性能问题,我们还会在IDE中加消息,如果你没有安装UIA 3但激活了accessibility,它会向你提醒。
WPF 4 和 VS 2010中改进了的文字显示
我们最近对WPF 4做了一些非常棒的改动, 较之于VS 2010/.NET 4 RC版,改进了文字的清晰度(text clarity)和清脆度(text crispness)。特别地,这些变动会改进那些在较暗的背景下有浅色文字(light text)的场景。
你可以在WPF开发团队这个博客贴子中了解这些改进的细节,这些改动将会出现在VS 2010 和 .NET 4的最终版本中。
希望本文对你有所帮助,
Scott