ASP.NET 4.0 中新增的23项功能
这篇文章介绍Visual Studio 2010 (ASP.NET 4.0)的新功能。
1、代码片段(Code Snippets):
代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间。在VS 2005和VS 2008中,已经有建立了很多代码段。不过,这些只适用于隐藏代码(code behind)。在VS 2010中代码片段支持JScript,HTML以及asp.net标记。在下面画面,展示了JScript和HTML片段的快捷菜单。
在JS中:
在HTML中 :
2、New Profiles:
在以前的dotnet版本中,我们已经看到过不同的开发环境的配置。如 VB, C#, Web development 和General Development。我们根据自己的需要选择一个环境配置。这些选择将在第一次安装visual studio之后或者通过import export选项。
这里介绍两个VS 2010中配置环境,两个都是进行HTML开发的。他们是
- Web Development
- Web Development (Code Optimized)
Web Development,配置隐藏了客户对象和HTML Mode顶端的事件栏 。
Code Optimized ,你将发现是没有code, designer tabs的html 编辑器。它提供了一个更大的空间去玩转html。
在你安装visual studio之后,第一次使用的时候,你能选择一个配置。 你也能改变你的工作环境的配置通过: Tools > Import & Export Settings > Reset all settings option。 如果在IDE中没有什么改变,你必须通过重新打开 visual studio 使它生效。
3、Generate From Usage:
写一些代码,选中它,右击最右侧的字符,你将得到去提取属性和方法的选项。此选项仅当你没有定义过这个标识符才显示。对于下面的例子智能感应不会显示选项来提取属性,例如,如果您右键点击变量 i 。
4、Multi-Targeting:
在2008中就能创建一个2.0或者3.0版本创建项目,而不是用默认的3.5去开发。也是是说,有一个选择项去改变开发项目的framework版本。
在2010中亦有相同选项功能,并做出相应的提高。在以前的版本中,如果你使用framework 2.0创建一个项目。智能感仍将能显示3.5版本的类型和成员。如果你不能确定所选择的framework内的成员,所以你就会有更多的机会去出错。但是,在VS2010的智能感知会只向您显示你选择的framework 版本。
5、MultiMonitor:
Visual Studio 2010 给我们提供能将IDE的窗体移动 visual studio IDE之外,将它放至在桌面上。它还支持多面去地去看不同的IDE窗体。如果我们关闭Visual Studio,并再次打开它,我们会发现所有的窗体在我们最后一次放置的地方。
6、Code Navigation:
新的导航使我们在文件中更快搜索术语。但它只能即在App_Code文件夹类文件,搜索您键入文本。它不适用于HTML或代码隐藏文件。在下面的例子,它显示出我的键入函数名称,它导航到窗口,选择窗体中的任何一个,它将能定位到选择的函数定义。
7、View Call Hierarchy:
这有助于查看函数和属性的使用,例如,如果你在一个函数名右键,它会告诉你的函数使用分层列表。
如果您单击查看调用层次,它会显示一个窗体,告诉你详细的函数调用:
在层次结构中选择窗口函数调用它会显示的参数和函数调用的位置的详细信息。
8、代码高亮突出显示:
选择一个标识符,IDE会为你突出的被使用的地方。例如我选择变量i,在它不同的使用地方,突出的显示。
9、智能提示的改进:
在VS 2008中,为一个对象选择属性时,它将根据输入的字母的顺序排列,为你提供智能提示。
在VS2010中它将向你显示基于组的属性,例如,如果您的文本框对象后键入text, 它将向你显示Text, TextChanged, TextMode。它也支持Pascal的智能提示。 例如,你输入TC,它将导航TextChanged 成员。
在下面的图片中可以看到4.0版本的ClientIDMode属性:如果我们从项目属性上改变framework 版本。它不会显示这个文本框的这个属性。
10、EnablePersistedSelection:
当我们选择像datalist 或者gridview 控件中的一行时,如果我们移动到另一个网页,在新的页上,它选择同编号行,虽然我们只在第一页选择了它。
为了避免这个,ASP.Net 4.0为这些控件推出了一种新的属性,这是EnablePersistedSelection。如果设置为true,在其他网页中,将不能选择同一编号。例如,导航到原始网页,第一页将显示选定的最初选定的行。
11、Web.Config Transformation
通常为我们的开发环境需要在web.config中设置一些值,然后在部署或测试的时候,我们手工地改变这些值。
例如,如果我们在Web.config文件中有连接字符串或其他任何键值组合,在项目发布或部署的时候,我们要去替换他们,这里我们将使用新的术语:Web.Config Transformation。这是一种自动的方式来执行此操作。Web.config 设置能被其他的配置文件覆盖,如:web.release.config,web.debug.config 等等,在项目debug和release时候。这些值不会覆盖原web.config,但会在发布的web.config中。
有了transformation的帮助,我们可以替换,移除,删除一个节点和我们可以删除或设置节点自身的属性。例如:
1、创建一个配置文件,从configuration manager > New
2、将其命名为 TransformWebConfig。从copy setting from 选项中选择Release。
这将会创建TransformWebConfig.config。
3、右击web.config,选择'Add config Transfroms ’选项。打开Web.config并添加一个测试键和值。
<add key="KeyOne" value="A value"/>
appSettings>
4、打开TransformWebConfig.config,并添加下面一行。
<add key="KeyOne" value="TestOnConfigurationConfig" xdt:Transform="Replace"
xdt:Locator="Match(key)" />
appSettings>
5、右击项目,选择'Create Package’。 VS会从TransformWebConfig.config文件获取值,它将改变我们发布的web.config文件中的值。
在成功生成的OBJ文件夹中,检查TransformWebConfig文件夹下的web.config,您会看到关键字KeyOne的值为TestOnConfigurationConfig。