您的位置:首页 > Web前端 > JavaScript

VS2010与.NET4系列 6.ASP.NET,HTML,JavaScript片断支持

2012-10-06 17:21 399 查看
今天介绍另一个VS2010中的有用的增强——HTML/ASP.NET/JavaScript片断支持。片断通过创建代码块和标记块来提高生产力,你能够在应用程序中用最少的字符输入就可以使用到它。

Visual Studio 在以前的版本中就对VB和C#支持“片断”的概念,但不支持HTML,ASP.NET标记和JavaScript。在VS2010中现在对这些内容类型也支持的很好了。

使用ASP.NET片断

让我们演练如何使用片断快速地实现一个常见的安全场景。特别地,我们将实现一个必要功能,它根据用户是否登录来决定站点页面右上角是显示 [Login] 还是 [Welcome 用户名] 消息:



当使用VS2010中的ASP.NET的新项目入门模板创建项目时,上面的功能会自动地为你添加。为了演练的目的,我们将假设我们是从一个空白母版页开始的,并将从头构建这它。

我们通过在母版页添加一个标准的 <div> 元素开始,然后把光标定位在元素内:



我们准备使用内置的<asp:loginview>控件帮助实现我们的场景。这个控件是一个模块控件,允许我们很容易地在 Anonymous 和 LoggedIn 模板之间切换,它会根据用户是否登录而自动显示某个模板。我们不是自动输入<asp:loginview>标记,而是使用 VS2010 中支持的新的片断支持。

在编辑器中输入"<log",这会带动智能感知并显示以此开头的可用元素、控件和代码片断。



我们选择从列表中选择"loginview"代码片断然后按下"tab"键来完成它:



现在我们选中了想要使用的片断,再次按下"tab"键来执行片断,这将用下面的标记立即取代片断名称。注意,下面的片断会添加一个新的<asp:loginview>控件并自动定义两个最贵常用的模板。我们仅仅用了6次击键就做到了。



现在我们来实现"AnonymousTemplate"。

输入"<a",智能感知会显示可用的元素和代码片断:



从列表中选择内置的 "a" 代码片断,然后按下 "tab" 完成它。当我们再次按下 tab 它会执行片断,即用下面的标签取代片断名称:



<a>元素的"href"属性和内部内容用绿色背景进行了高亮。这表示这些值是可替换的参数,可以使用tab自动在其中移动并填充它们,避免了使用光标键或移动鼠标,这样能让工作更快。

不需要移动光标或鼠标,我们就能够输入登录页面的URL:



完成后,按下 "tab" 键,VS会在编辑中为我们自动地高亮第2个内容参数:



我们现在可以输入要显示的内容:



一旦完成了 "<anonymousTemplate>" 就可以移到 "<LoggedInTemplate>"。我们将输入"<log" 来带出智能感知,并选择内置的 "loginname" 片断:



同样按下 tab 会执行片断——使它用现在的标记取代片断:



"FormatString" 属性的值会为我们自动的生成一个默认的欢迎文本消息。这个值同样自动高亮,以便我们想改变它。在这个例子中我们保持这个默认文本。

最终的标记看起来像下面这样:



当我们运行应用程序时,如果用户还没有验证标记会显示一个 "[Login]" 链接:



当我们登录后,会看到下面这样的欢迎字符串:



实现整个场景需要的击键次数总共不到以前要输入的的15%。

ASP.NET MVC 片断

内置的片断对所有的ASP.NET控件和HTML标记元素都是可用的。

内置的片断对通用的 ASP.NET MVC 视图场景和内置的 ASP.NET MVC HTML 辅助类同样是可用的。

例如,我们可以在ASP.NET MVC视图内输入 "<act" 并选择 "actionlink" 片断:



当我们完成后按下"tab"键,片断会执行——用下面的标记取代片断名称:



注意"linktext"和"actionname"的值是作为片断参数标示的,这意味着我们可以很容易地取代它们而不需要使用光标键或接触鼠标。第一个 linktext 参数值默认是选中的,这样我们只需要立即输入值,然后按"tab"键立即选择和取代第二个 actionname 参数:



自定义片断

VS2010 包含了超过 200 个内置的片断,可以立即使用。

非常好的一点是不限于只使用内置片断,你还可以容易地创建自己的片断(带有可代换的参数)并将其导入到VS2010中,以及共享给其他开发人员。

总结

片断是很有用的特性,使你能够在编辑器中减少击键,并允许你更加快速地完成场景和任务。片断现在不仅只针对VB和C#,还支持HTML,ASP.NET和JavaScript,使得它更加有用,也能使你更有生产力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: