WebForm模型绑定第三部分:更新和验证(ASP.NET 4.5系列)

[原文发表地址]  Web Forms Model Binding Part 3: Updating and Validation (ASP.NET 4.5 Series) [原文发表时间]  2011-10-30 22:58 这是我在ASP.NET 4.5上写的第五篇系列博文。 下一版的.NET和Visual Studio包含了一大堆全新的功能和特点。有了ASP.NET4.5你会发现许多很不错的有关WebForm和MVC的改进,还有核心ASP.NET库的改进。 今天这篇是三篇讨论WebForm中全新模型绑定支持的博文中的第三篇。模型绑定是ASP.NETWebForm中现有数据绑定系统的扩展,提供代码为主的数据访问范例。它吸取了之前介绍过的ASP.NET MVC模型绑定概念——并很好地与WebForm服务器控制模型相融合。 如果你还没有读过这个系列的前两部分,谈论了通过像GridView这样的数据控件中的选择函数属性来选择数据,还有根据用户输入筛选数据。 在今天的博文中,我们会看看模型绑定如何在更新数据时改进数据绑定体验的。 开始 让我们从先前博文中的GridView示例开始,经配置使用模型绑定来显示Northwind产品表中的数据。GridView调用已配置的GetProducts方法,使用代码先行的Entity Framework 来返回Products属性,这个属性呢存在于Northwind数据上下文实例中。 DataKeyNames属性设置为模型类型中的主要键,这是很重要的,所以GridView可以和页面一起在浏览器和服务器间往返这个值。 <asp:GridView ID="productsGrid" runat="server" DataKeyNames="ProductID"     ModelType="ModelBindingPart3.Product"     AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false"     SelectMethod="GetProducts">     <Columns>         <asp:BoundField DataField="ProductID" HeaderText="ID" />         <asp:BoundField DataField="ProductName" HeaderText="Name" SortExpression="ProductName" />        …

0

Visual Studio 中新CSS编辑器的改进(ASP.NET 4.5 系列)

[原文发表地址]   New CSS Editor Improvements in Visual Studio (ASP.NET 4.5 Series) [原文发表时间]  2011-12-02 13:06 这是我的ASP.NET 4.5系列博文中的第七篇。 下一个.NET和Visual Studio版本将包含很多新特性和功能。在ASP.NET 4.5中,你将会看到很多非常好的运行和工具的改进。Web 窗体,MVC,以及ASP.NET核心基础都建好了。 今天的博文涵盖了我们在下一个Visual Studio的版本中所做的改进,以更好地在ASP.NET项目中使用CSS 和CSS3。 CSS 颜色选择器 在Visual Studio之前的版本中,在 CSS 编辑器中的intellisense引擎为命名的颜色值提供了hard-coded的下拉列表。Visual Studio新的版本用颜色选择器替换了列表,这将更容易从样式表中选取已经使用过的颜色,以及创建自定义的颜色样式。 当你在CSS编辑器中为CSS属性编辑颜色值时,一个新的颜色选择器将会自动出现。它在默认情况下显示一系列样式表中使用过的颜色,以及一个可用的默认颜色样本调色板。你可以使用鼠标或键盘从列表中选取一种颜色:   你可以选择“+”按钮来将列表展开为更丰富的颜色选择器以选取更确切的颜色。当移动不透明滑块时,它可以让你通过自动将任意颜色转换为CSS3 RGBA值来控制alpha通道。它还包括一个“颜色选择”功能,允许你使用取色器从浏览器中已加载的任意网站或系统中正在运行的应用程序中选取颜色: 很棒的视频:观看这个60秒的视频来看颜色选择器如何实际操作的。它展示了以下内容:在相同的样式表中使用其他颜色,创建新的颜色,使用 CSS3 不透明度功能,使用取色器从另一个应用程序/网站上捕获颜色。 跨浏览器和 CSS3 的代码段 当工作于相同CSS3 属性的所有供应商的特定版本时,编写样式表有时感觉是件重复性的事情。你经常不得不为每个浏览器编写相同的属性值——这在有些情况下需要编写5个相同的值。为了支持所有浏览器版本,它是乏味的却必须的工作。 Visual Studio 的下一个版本包括支持自动生成的所有供应商特定属性的 CSS 代码段。那就意味着在跨浏览器时,不需乏味的搜索和键入来获取CSS3的属性。 CSS代码段的工作原理如同现今Visual Studio中其它编辑器的代码段。例如,要为CSS3 transition 属性调用代码段,只需键入“transition”或从CSS样式表中的intellisense中选取: 然后按TAB键,Visual Studio将执行CSS过渡代码段,生成代码来支持所有浏览器的前缀。它也可以允许你改变一次值,接着自动将它传到所有其它属性值中: 很棒的视频:观看这个60秒的视频来看如何执行CSS代码段。它演示了代码段如何帮助解决供应商的前缀,以及支持像多媒体查询的方案来支持多个屏幕大小,跨浏览器-字体嵌入的情境。 分层…

0

黑客教育:开发人员和数据天才之间的竞赛

[原文发表地址]    Hacking Education: A Contest for Developers and Data Crunchers [原文发表时间]    2011-04-26 1:00 AM 四月份,在DonorsChoose.org上将进行一个"open data"竞赛,我想你们会感兴趣!DonorsChoose是一个在线的慈善机构,它使任何人都能够很容易地帮助到需要帮助的学生。区别就在于你的捐助可以直接地锁定某个项目…你可以选择你的1美元花在哪里。 到目前为止,在409,000 名平民慈善家的支持下,43,000所公立学校中超过165,000名教师已经开设了超过300,000个教学工程。这些慈善家迄今已经在DonorsChoose.org上捐助了900,000多个项目。 这些行为产生了大量的数据,通过竞赛,你可公开访问这些数据(当然,关于教师和捐赠者的身份信息是经过过滤了的)。最终的结果信息包罗万象,可以是捐赠者所执行的查询,可以是每个项目的目标领域(公民学、地理学)和资源类型(实地考察课程、技术),可以是教师所属的组织(Teach for America、 NY Teaching Fellow),也可以是每个学校的纬度、经度、以及贫困率。 Clay Johnson,帮助政府机构开放数据并加入到开发人员社区的一名领头人,正在帮忙举办比赛。DonorsChoose希望开发人员、设计人员、研究人员和数字天才们可以使用我们的API和数据来进行: · 辨别能够影响制定预算或教学方法的趋势,比如说“Bronx的三年级老师正在提交比往年多40%的针对听力中心项目的申请”或“这些是低收入社区的高中教师需要的前十本小说”。 · 创建改变DonorsChoose.org体验的应用程序,比如向你显示所站地方圆一米内的学校课堂项目的手机应用程序;或随机的课堂项目探索体验。 · 透过论文内容、资源、区域等来确定教学的趋势。比如,“这些是低收入社区的高中教师需要的前十本小说”。研究大量真实钱财流通的活跃的web市场的动态(因为研究社区仅有非常少量的这类数据集)。 · 创建一个独特的移动设备用户体验,比如查看离你当前位置最近的学校的活动的/已完成的课堂项目。 我认为MS开发人员社区可能会非常喜欢加入进来。你可以创建任何你喜欢的东西,希望这些建议能帮助你们获得创作灵感! 有六个数据集,每个都来自一个单独的CSV文件:课堂项目、项目资源、项目论文、捐赠品、礼品卡、搜索日志(关键字和过滤器)。 会有针对JavaScript,Ruby, Python, PHP和.NET的分组。Scott Hanselman和我将评审.NET组。在.NET 组中获胜的人都会得到Visual Studio Ultimate的一个免费拷贝、一个配有Kinect的Xbox 360等等! 每个组的获胜者将在决赛评委——Arianna Huffington、 Fred Wilson,和Wendy Kopp、CEO/ Teach For America的创始人——前接受考验,来赢得到Colbert Report的四张特奖票,Stephen Colbert将会在那里向获奖者们颁发奖品并一起合照庆祝! 我希望你们能参与进来,利用这个很棒的机会来编写有趣又相关的代码,不但获得乐趣,而且帮助到一家很好的慈善机构。所有参赛的详细信息请查看http://www.donorschoose.org/hacking-education。…

0

HTML编辑器智能任务和事件句柄生成器(ASP.NET vNext系列)

HTML编辑器智能任务和事件句柄生成器(ASP.NET vNext系列) [原文发表地址]  HTML Editor Smart Tasks and Event Handler Generation (ASP.NET vNext Series) [原文发表时间]  2011-09-01  4:01 AM  我最近在写一些有关ASP.NET vNext的系列博文,这是其中的第一篇。 下一版发布的Visual Studio会包含很多不错的代码编辑功能(我之后的博文中也会详细介绍)。今天这篇先写一些HTML编辑器小而精的改进,使之可以更好更快地完成普通任务。 特别的是,Visual Studio可以支持ASP.NET服务器控件的“智能任务”功能了,可以轻松地操作ASP.NET服务器控件的事件句柄而无需切换到设计视图。现在你可以在源代码视图中进行这些操作了。 快速浏览功能视频 Mads Kristensen制作了一个很不错的90 秒视频,展示了HTML编辑器智能任务和事件句柄生成器的功能。你可以点击此处观看90秒视频了解这些优化功能。 以下是有关新功能的一些详细介绍以及截屏。 智能任务的背景 几年前我们为Visual Studio添加了一个功能特性,支持“智能任务”。智能任务可以让你点击web form控件 ,然后看到(随控件自带)一些快捷方式,来完成普通任务: 智能任务功能简化了一些普通场景。它的缺点就是只有在设计模式下才工作。如果你喜欢用HTML代码编辑器,不喜欢等设计视图启动,那你可能享受不到这些功能的作用了。 HTML编辑器里的智能任务 下一版的ASP.NET和Visual Studio添加了源代码视图中的智能任务支持(包括设计视图)。 有了ASP.NET Web Form,插入符号放置在ASP.NET服务器控制元素中,智能任务会以小字形出现: 你可以通过点击小字形或者点击CTRL+.(点)来展开智能任务,和在C#和VB.NET里一样。 上述任务现在可以直接在源代码视图中运行了,不用再切换到设计视图,完成操作也更简单快速了。比如,我们可以点击“编辑列”链接,直接跳出字段框来修改GridView的列定义(就像在设计视图中一样): 当我在对话框里配置GridView列并点击确认按钮,在代码编辑器中就会插入下列标记—无需调到设计视图,也不用切换到代码编辑器: 我们认为智能任务会有很大的功效,让很多任务都变得更简单。 源代码中的事件句柄生成器 你用ASP.NET服务器控件做很多普通的任务,其中一个就是连接服务器端事件句柄。 现在要在Visual Studio中做到这点唯一自动的方法就是切换到设计视图,选择控件,然后双击(处理默认事件)或者使用属性面板的事件标签,选择命名特定事件句柄。如果你习惯在代码视图中工作,你必须痛苦地转换到设计视图来完成。 下一版的ASP.NET和Visual Studio就会让这个工作更轻松简单一点,因为它支持从HTML代码编辑器来创建连接服务器端事件句柄。 智能感应全部的服务器端事件现在包含一个叫做“<Create New Event>”的值,正如名字所暗示的,它会创建一个事件句柄,在代码文件中加上正确的签名。只要简单地输入事件名称,打上空格,就会显示出来: 你可以选择将事件与代码文件中现有的函数连接,或者简单地输入你想创建的新事件处理句柄名称(或者直接点击标签自动命名):…

0

强类型数据控件(ASP.NET vNext系列)

[原文发表地址] Strongly Typed Data Controls (ASP.NET vNext Series) [原文发表时间] 2011-09-05 21:58 这是我的ASP.NET vNext系列博客的第二篇。   .NET和Visual Studio的vNext版本囊括了许多很棒的新特性和功能。有了ASP.NET vNext你会发现许多Web Form和MVC的很棒的优化,而且ASP.NET作为两者基础的核心,也会有很多进步。   这篇博文是我第一篇关于Web Form的优化讨论。在下面的内容中我会介绍新支持的强制输入数据控件。   数据控件模板背景 ASP.NET Web Form从第一个版本开始就介绍了“模板”的概念。模板能够让你自定义(或者重写)服务器控件中发出的标记,通常与数据绑定表达式一起使用。   当使用模板中的数据连接,你用late-bound表达来绑定数据。比如,下面我们用Eval()辅助函数来进行“FirstName”和“LastName”两个属性的数据绑定,从对象数据连接列表到复述控件:   <ul>     <asp:Repeaterrunat="server" ID="customers">         <ItemTemplate>             <li>                 First Name: <%# Eval("FirstName")%><br/>                 Last Name: <%# Eval("LastName")%><br/>             </li>         </ItemTemplate>     </asp:Repeater> </ul>  …

0

Web窗体模型绑定第一部分:数据选择(ASP.NET vNext系列)

[原文发表地址] Web  Forms Model Binding Part 1: Selecting Data (ASP.NET vNext  Series)[原文发表时间] 2011-09-05 21:58 这是我写的ASP.NET vNext系列博文的第三篇。 下一版的.NET和Visual Studio包括了许多很棒的新功能。有了ASP.NET  vNext,你会看到许多令人激动的Web窗体和MVC改进——还有它们建立的基础ASP.NET核心库的改进。 这两个礼拜我会写3篇博文来讲讲Web窗体对新模型绑定的支持,这是第一篇。模型绑定是ASP.NET  Web窗体现有数据绑定系统的扩展,提供了代码为主的数据访问范例。它利用了我们最早介绍的ASP.NET  MVC模型绑定概念,并通过Web窗体服务器控制模型很好地将它们融合了起来。 如今的数据绑定背景介绍 Web窗体囊括了一系列数据源控件(比如SqlDataSource,EntityDataSource, LinqDataSource),能让你直接从服务器端控件连接数据源。许多开发者都喜欢对他们的数据访问逻辑拥有完全控制——并用代码编写这个逻辑。 在之前版本的Web窗体中,这可以通过直接设置控件的DataSource属性,然后在页面的后台代码中调用DataBind()函数来完成。虽然这个方法对很多场景都适用,但是对于有大量数据的控件(比如GridView)来说,这种方法不能很好的支持像排序,分页和编辑之类的自动操作。 还有一个可行的方法是使用ObjectDataSource控件。这个控件可以将UI代码和数据访问层更清晰地分离出来,让数据控件提供自动功能,比如分页和排序。不过,它虽然在选择数据这部分很好用,但它执行双向数据绑定还是很繁琐,只支持简单的属性(没有高级的复杂类型绑定),而且还会常要求开发者写许多复杂代码来处理许多场景(包括像验证错误这种常见的场景)。 模型绑定介绍 ASP.NET vNext在Web窗体中为“模型绑定”提供了许多新的支持。 模型绑定旨在简化代码为主的数据访问逻辑,但同时保持丰富的双向数据绑定框架的优势。它承袭了我们最早介绍的ASP.NET  MVC模型绑定样式,并融入了Web窗体服务器控件模型。这样用Web窗体来执行常见的CRUD风格场景就变得简单了,同时还能让你使用任何数据访问技术(EF,  Linq, NHibernate, DataSets, 原始 ADO.NET等等) 我这周还会写些其他博文,介绍如何利用新模型绑定功能。今天的博文中我会展示如何使用模型绑定来检索数据——并在GridView控件中实现排序和分页。 用SelectMethod检索数据 模型绑定是一个专注于代码的数据绑定方法。 它能让你在页面的后台代码文件中编写CRUD辅助函数,并很方便与页面中的任意服务器控件相连。然后服务器控件就会在适当的时候,在页面生命周期内调用上述函数,并进行数据绑定。 来看一个简单的例子,我们使用<asp:gridview>控件。下面的GridView有4个栏——其中3个是标准的BoundField,第4个是TemplateField。注意我们是如何在GridView上设置ModelType属性到Category对象上的——这个能让我们在templatefield中实现强类型数据绑定(比如Item.Products.Count而不是使用Eval() 函数): <asp:GridView ID=”categoriesGrid” runat=”server” ModelType=”WebApplication1.Model.Category” SelectMethod=”GetCategories” AutoGenerateColumns=”false”> <Columns> <asp:BoundField DataField=”CategoryID” HeaderText=”ID” /> <asp:BoundField…

0

Web窗体模型绑定第二部分:数据筛选(ASP.NET vNext系列)

[原文发表地址] Web Forms Model Binding Part 2: Filtering Data (ASP.NET vNext Series) [原文发表时间] 2011-09-12 14:18 Web窗体模型绑定第二部分:数据筛选(ASP.NET vNext系列) 这是我对ASP.NET vNext做的系列博文的第四篇。 下一版的.NET和Visual Studio包括了许多很棒的新功能。有了ASP.NET vNext,你会看到许多Web窗体和MVC的改进——还有ASP.NET核心库的改进。 今天的这篇博文是讨论Web窗体的新模型绑定支持的三篇博文的第二篇。模型绑定是ASP.NET Web窗体现有数据绑定系统的扩展,提供了代码为主的数据访问范例。它利用了我们最早介绍的ASP.NET MVC的一堆模型绑定概念的优势,并通过Web窗体服务器控制模型很好地将它们融合了起来。 在我第一篇模型绑定博文中我讨论了关于数据选择的一些基本内容。在今天的博文中,我们要看看如何在用户输入的基础上筛选数据,而同时又保持代码为主的数据访问方式。我会用两种方法教你做这个筛选,一种是用询问字符串输入,另一种则是通过下拉列表服务器控件的值。 准备开始 我们从向页面添加<asp:GridView>控件开始,对它进行配置,使用模型绑定来显示Northwind Products表中的数据。我们下面的GridView中有一个SelectMethod属性,设置为了GetProducts()——会使其在代码隐藏文件中调用GetProducts()函数,它使用的是Entity Framework Code First简单地返回绑定的Products表。 <asp:GridView ID=”productsGrid” SelectMethod=”GetProducts” DataKeyNames=”ProductID”AllowPaging=”true” AllowSorting=”true” AutoGenerateColumns=”false” runat=”server”> <Columns> <asp:BoundField DataField=”ProductID” HeaderText=”ID” /> <asp:BoundField DataField=”ProductName” HeaderText=”Name” SortExpression=”ProductName” /> <asp:BoundField DataField=”UnitPrice” HeaderText=”Unit Price” SortExpression=”UnitPrice” />…

0

Visual Studio里面的搜索和浏览的一些技巧

[原文发表地址] Search and Navigation Tips/Tricks with Visual Studio [原文发表日期] 2010/8/24 12:24 AM [转自]http://msdn.microsoft.com/zh-cn/gg232829 这是我写的关于VS2010和.Net4的博客系列的第27篇。 今天的文章继续上星期我的调试技巧文章,并谈谈Visual Studio里比较有用的搜索和浏览的技巧。我的朋友Scott Cate(他写了很多关于VS使用技巧和窍门的博客)最近向我强调了这些很好的技巧,大部分使用VS的开发人员好像不知道这些技巧(即使他们大部分都在产品开发组呆过一阵子)。 如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们。 它们学起来很容易,能帮你节省很多时间。 Ctrl + i渐进搜索 大多数使用Visual Studio的程序员都习惯了在IDE里按“Ctrl + F”键来打开“查找窗口”。但令人惊讶的是,有很多程序员不知道Visual Studio里的“渐进搜索”这个功能。它可以让你在当前文档里进行搜索,而且允许你不用打开对话框就可以搜索。 使用渐进搜索 在编辑器里按“Ctrl + i”即可启用渐进搜索。它会换掉鼠标图标,并将IDE状态栏的左下角改成“渐进式搜索:(搜索关键字)”—你可以键入要搜索的关键字,并且编辑器会从你在源代码的位置开始搜索(不用打开对话框)。 下面我们搜索“action”,VS会在文件里高亮第一次使用到它的地方。 我们可以接着按“Ctrl + i”来搜索下一个用到它的地方(可以重复多次): 按“Ctrl + Shift + i”可以反方向搜索,这样避免回溯。 你可以通过“Esc”键跳出渐进式搜索。这里有关于渐进式搜索更详尽的资料。 F3和Shift + F3 –使用以前的关键字查找 关于渐进式搜索的一个很炫的技巧是,当你按下ESC键退出搜索时,它会将关键字添加到IDE的查找栈里。在VS的标准工具栏上的“查找”下拉框,你可以看到用过的搜索关键字: 在Visual Studio里,按F3键可以让你重复上次的搜索。这在你查找一些东西,改一下代码,然后要从改动过的地方继续搜索的时候非常有用。只要按下F3,你就可以在文档新的位置上重复上次的搜索(例如“action”)—不需要重新键入搜索关键字。 按“Shift + F3”可以使用 上次搜索关键字进行反向搜索(从光标在编辑器的当期位置开始)。你可以很方便地用F3/Shift+F3的组合在文档里向前向后搜索。 Ctrl + F3—搜索当前选择的文本…

0

Visual Studio的调试技巧

[原文英文地址]Debugging Tips with Visual Studio 2010 [原文发表日期]2010/8/19 10:48 AM [转自]http://msdn.microsoft.com/zh-cn/gg213858 这是我写的关于VS2010和.Net4发布的博客系列的第26篇。 今天的博文包含了一些有用的能用于VS的调试技巧。 我的朋友Scott Cate(他写了很多很好的关于VS使用技巧和窍门的博客)最近向我强调了这些很好的技巧,大部分使用VS的开发人员好像不知道这些技巧(即使他们大部分都在产品开发组呆过一阵子)。 如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们。 它们学起来很容易,能帮你节省很多时间。 运行到光标(Ctrl+ F10) 我经常看见人们是这样来调试应用程序的: 他们在应用程序需要调试的代码前设置一个断点,然后反复的敲F10/F11来逐步通过代码,直到到达他们真正想要研究的确切位置。有些时候他们需要仔细观察所跨过的每行代码,这样使用F10/F11 就很合理。 但是更普遍的是,他们只想快点进入他们真正关心的那行代码——这是使用F10/F11 就不是最好的选择了。 相反, 你可能想利用调试器支持的特性“运行到光标”。 只需简单地把你的光标放在代码中你想程序运行到的那一行,然后同时敲Ctrl+F10。这样程序就会运行到光标所在的那一行, 然后执行中止,由调试器控制——这样就节约了你反复敲击F10/F11到达那里的时间。即使你想运行到的那行代码不在当前调试的方法或类里,而是在一个独立的方法或类里,这也同样奏效。 条件断点 我们经常在可用性学习中见到另一个普遍的技巧:开发人员设置断点,运行程序,试着输入一些数据,当到达一个断点时,手工检查某种条件是不是成立,如果成立才决定进一步研究。 如果条件不符合他们想要的, 按F5继续执行程序,尝试另外一些输入,再手工重复同样的过程。 VS的条件断点功能提供了一个更加容易的方法来处理以上情况。 条件断点允许你只在某种明确指定的条件成立时才中止执行,由调试器控制。这帮你免于手动检查/恢复你的程序, 使得整个调试过程免去许多手工活,也不那么冗长乏味。 设置一个条件断点 设置一个条件断点十分简单,在代码里按F9为某一行设置一个断点: 然后右击断点——编辑器左边的红色圆圈,在右键菜单中,选择“条件…” : 将弹出以下对话框, 允许你指明某种条件,只有当这种条件成立时,断点才能达到。 例如:我们可以通过写下面的表达式来指明,只有当paginatedDinners列表元素的个数小于10时,才中止程序,由调试器控制。 现在, 当我重新运行程序来研究一下, 调试器只在这个查找返回值小于10时,才中止程序执行。 如果返回值不小于10 ,将不会触发断点。 命中次数功能 有时你只想在条件第N次成立时中止执行。例如:仅当第5次出现查找返回值小于10时,才中止执行。你这样启用这个功能:右击断点, 选择“命中次数…”菜单命令。 将弹出以下对话框, 允许你指明程序中断的条件:条件被第N次满足时,或者条件被满足的次数是N的倍数时,或者条件被满足的次数大于等于N次时。 机器/线程/进程筛选器 你可以右击断点,选择“筛选器…”菜单命令, 来指明断点只在某台特定的机器,或某个特定的进程或线程中才能被触发。 跟踪点——当击中断点时自定义行为…

0

我的“2010精华集锦”博文链接

[原文发表地址] Links to my “Best of 2010” Posts [原文发表时间] December 31, 2010 10:01 PM 对我来说,2010是忙于写博客的一年(这是我在2010年发表的第100篇博客)。这星期有人建议我总结出一个列表来组织我今年最喜欢的博文。 下面就是根据主题整理出来的一些我最喜欢的博文的速查列表: VS 2010和.NET 4 下面是我写的关于VS2010(有些写于2009年下半年)和4月份发布的.Net 4(包括ASP.NET 4和WPF 4)的一系列博文: · Visual Studio 2010和.Net 4发布 · 干净的Web.Config文件 · 初学者项目模板(Starter Project Template) · 多定向(Multi-targeting) · 多显示器支持 · 专注于代码的新Web配置文件选项 · HTML/ASP.Net /JavaScript代码碎块 · 自动启动ASP.Net 应用程序 · 用ASP.Net 4 Web 窗体实现URL路由 · 在VS2010内搜索和导航代码 · VS2010代码智能感知改进…

0