Monthly Archives: 十二月 2007

12月16日链接篇: ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF

【原文地址】December 16th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF 【原文发表日期】Sunday, December 16, 2007 11:29 PM 这是我的链接系列的最新篇。也请参阅我的ASP.NET 技巧,诀窍和教程网页里 我以前写的众多很受欢迎的文章的链接。 ASP.NET Creating an Outlook Navigation Bar using the ListView and Accordion Controls: Matt Berseth撰写了一个很棒的例程,描述如何使用新的ASP.NET 3.5 ListView服务器控件和ASP.NET AJAX控件工具包中的Accordion控件来实现类似Outlook的导航菜单。 What is New in the ASP.NET 3.5 Extensions Preview: Brad Abrams在博客里讨论了一些例子,这些例子展示了新的<asp:MediaPlayer> Silverlight 控件,以及<asp:ScriptManager>控件中内置的历史管理。 ASP.NET AJAX ASP.NET AJAX [...]

Posted in 未分类 | Tagged , , , , | 4 Comments

新的ASP.NET动态数据支持

【原文地址】New ASP.NET Dynamic Data Support【原文发表日期】 Friday, December 14, 2007 12:41 AM 上个周末发布的ASP.NET 3.5 Extensions CTP预览版包括了一堆很棒的新特性。 其中一个新特性是我们称之为“ASP.NET Dynamic Data Support(动态数据支持)”的东西。简单地说,这个东西允许你极其快速地建造可以使用LINQ to SQL(在将来LINQ to Entities)对象模型的数据驱动的网站,还允许你不用手工建造任何网页。 看它在实战中的例子的最佳方式是观看David Ebbo的精彩的17分钟屏播: 你也可以按下面的步骤来轻松上手,开始使用动态数据支持: 第一步: 创建ASP.NET动态数据网站 在安装ASP.NET 3.5 Extensions CTP预览版之后,你可以使用VS 2008或免费的Visual Web Developer 2008 Express版来创建启用ASP.NET动态数据支持的新网站项目或新Web应用项目: 这会创建一个可用的新网站,其中包括了一些默认的模板文件,以及你可以用来定制模板文件观感(look and feel)的CSS样式表: 第二步: 添加LINQ to SQL数据模型 LINQ to SQL是.NET 3.5中内置的O/RM(对象关系映射器),它允许你使用.NET类来对关系数据库建模。然后你可以使用LINQ来对数据库进行查询,以及在其中更新、插入和删除数据。 LINQ to SQL完全支持事务,视图和存储过程。它还提供了简易方式来将数据验证和业务逻辑规则集成进你的数据模型。 开始使用ASP.NET动态数据网站的最简便的方式是向你的项目中添加一个新的LINQ to SQL数据模型(右击->添加新项->LINQ to [...]

Posted in 未分类 | Tagged , , , | 4 Comments

ASP.NET 3.5 Extensions CTP预览版发布了

【原文地址】ASP.NET 3.5 Extensions CTP Preview Released 【原文发表日期】 Sunday, December 09, 2007 8:55 PM 今天早些时候,我们发布了我们一直在开发的ASP.NET 3.5 Extensions的第一个CTP预览版(点击这里阅读我以前写的关于我们产品路线图的帖子)。这个预览版给ASP.NET和.NET 3.5带来了额外的运行时功能。你可以在这里下载(如果你要使用MVC功能的话,也请点击这里下载MVC工具包)。 ASP.NET 3.5 Extensions第一个预览版包括: ASP.NET AJAX改进: ASP.NET 3.5 Extensions中新的ASP.NET AJAX功能包括,更好的浏览器历史的支持(向后/向前按钮的集成,服务器端历史管理支持等),使用永久链接(permalinks)改进的AJAX内容链接支持,以及额外的JavaScript库的改进。 ASP.NET MVC: 这个ASP.NET模型,视图,控制器(MVC)框架提供了一个结构化的模型,促成web应用中的清晰的关注分离,方便你单元测试代码和支持TDD流程。它还提供了对你发布在应用中的URL更多的控制,以及对从中输出的HTML的更多的控制等。 ASP.NET动态数据支持: ASP.NET 3.5 Extensions提供了一些能促进快速开发数据驱动的web应用的特性,提供了丰富的支架(scaffolding)框架,将促进使用ASP.NET WebForms和ASP.NET MVC来快速开发数据驱动的网站。 ASP.NET Silverlight支持: 在ASP.NET 3.5 Extensions中,我们将提供将Silverlight轻松集成进你的ASP.NET应用的支持,这些支持将包括一些新控件,它们方便你在网站上集成Silverlight视频,音频和可交互性内容。 ADO.NET Data Services: 与此同时,我们还将发布ADO.NET Entity Framework(实体框架)。这提供了一个新的建模框架,允许开发人员定义与数据库数据定义相对应的概念性模型,这个概念性模型与信息的现实世界观更为接近。我们还将发布一套新的数据服务(代号名为“Astoria”),方便你从ASP.NET应用中呈示基于REST的API端点。 我们将在以后的日子发表许多博客帖子和录像,讨论相关的新特性。点击这里查看一套初始的Quickstart例程,这些例程讨论了预览版的一些新特性。 在下面,你可以找到我撰写的几个教程帖子(以及Phil Haack的一个非常酷的TDD帖子)的链接,这些帖子讨论了新的ASP.NET MVC框架。我还将在以后撰写更多的贴子讨论扩展预览版中跟MVC无关的特性: ASP.NET MVC框架(第零部分): 概述 ASP.NET MVC框架(第一部分): [...]

Posted in 未分类 | Tagged , , , | 18 Comments

ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

【原文地址】ASP.NET MVC Framework (Part 4): Handling Form Edit and Post Scenarios 【原文发表日期】 Sunday, December 09, 2007 4:42 AM 过去的几个星期内,我一直在写着讨论我们正在开发的新ASP.NET MVC框架的系列贴子。ASP.NET MVC框架是个你可以用来结构化你的ASP.NET web应用,使之拥有清晰的关注分离,方便你单元测试代码和支持TDD流程的可选方法。 这个系列的第一篇建造了一个简单的电子商务产品列表/浏览网站。它讨论了MVC后面的高层次的概念,示范了如何从头创建一个新的ASP.NET MVC项目,实现和测试这个电子商务产品列表功能。系列的第二篇对ASP.NET MVC框架的URL路径选择(routing)架构做了深入探讨,讨论了它的工作原理以及你如何使用它来处理更高级的URL路径选择场景。 第三篇讨论了控制器是如何与视图做交互的,特别地讨论了你可以把视图数据从控制器传给视图以显示返回到客户端的回复的各种方法。 在今天的帖子里,我将讨论你可以用MVC框架来处理表单输入和提交场景的各种方法,以及讨论一些你可以用来简化数据编辑场景的HTML辅助方法。点击这里下载我们将在下面为解释这些概念而建造的完整的应用的源代码。 表单输入和提交场景 为示范如何在ASP.NET MVC框架中处理表单输入和提交场景的一些基本原则,我们将建造一个简单的产品列表,产品生成,和产品编辑场景。它将拥有三个核心的用户体验: 按类列出的产品列表 通过导航到/Products/Category/[CategoryID] 这样的URL,用户将能看到在某个特定产品分类内的所有产品的列表: 添加新产品 用户将能通过点击上面的“添加新产品”的链接往商店里添加一个新产品。点击之后,会转到/Products/New URL,在这里,系统将提示用户输入要添加的新产品的细节: 在点击Save(保存)之后,产品就会添加到数据库中,然后就会转向返回到产品列表网页。 编辑产品 在产品列表网页上,用户可以点击每个产品旁边的“Edit”(编辑)链接。这会转到/Products/Edit/[ProductID] URL,在这里,用户可以改动产品的细节,然后点击Save按钮,往数据库里更新: 我们的数据模型 我们将使用SQL Server Northwind样品数据库来存储我们的数据。然后我们将使用.NET 3.5内置的LINQ to SQL对象关系映射器(ORM)来对Product, Category, 和 Supplier对象进行建模,这些对象代表了我们的数据库数据表中的记录行。 一开始,在ASP.NET MVC项目中,右击/Models子目录,选择“添加新项” -> “LINQ to [...]

Posted in 未分类 | Tagged , , | 15 Comments

2月17日链接篇: ASP.NET, ASP.NET AJAX, Visual Studio, .NET

【原文地址】Feb 17th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET 【原文发表日期】 Sunday, February 17, 2008 11:01 AM 这是我的链接系列的最新篇。也请参阅我的ASP.NET 技巧,诀窍和教程网页里我以前写的众多很受欢迎的文章的链接。 ASP.NET Top 10 Best Practices for Production ASP.NET Applications: Kyle的一篇好文,总结了在部署ASP.NET应用到生产环境中时应该遵循的许多最佳实践。 Paging Through Data with the ASP.NET 3.5 ListView and DataPager Controls: Scott Mitchell继续他的新ASP.NET 3.5数据控件特性的精彩系列。在这篇最新的文章里,他展示如何使用ListView和DataPager控件进行分页显示。 ASP.NET AJAX How to install and use the ASP.NET AJAX Control Toolkit in [...]

Posted in 未分类 | Tagged , , , , | 5 Comments

ASP.NET MVC框架(第三部分): 把ViewData从控制器传到视图

【原文地址】ASP.NET MVC Framework (Part 3): Passing ViewData from Controllers to Views 【原文发表日期】 Thursday, December 06, 2007 2:49 AM 【译注】根据Scott Guthrie原文的回复,ASP.NET MVC框架的第一个CTP将于12月7日发布 过去的几个星期内,我一直在写着讨论我们正在开发的新ASP.NET MVC框架的系列贴子。ASP.NET MVC框架是个你可以用来结构化你的ASP.NET web应用,使之拥有清晰的关注分离,方便你单元测试代码和支持TDD流程的可选方法。 这个系列的第一篇建造了一个简单的电子商务产品列表/浏览网站。它讨论了MVC后面的高层次的概念,示范了如何从头创建一个新的ASP.NET MVC项目,实现和测试这个电子商务产品列表功能。系列的第二篇对ASP.NET MVC框架的URL路径选择(routing)架构做了深入探讨,讨论了它的工作原理以及你如何使用它来处理更高级的URL路径选择场景。 在今天的帖子里,我将讨论控制器是如何与视图做交互的,具体来说,我将讨论你可以把数据从控制器传到视图以显示返回到客户端的回复的各种方式。 第一部分的扼要简述 在这个系列的第一部分,我们创建了一个电子商务网站,实现了基本的产品列表/浏览支持。我们是用ASP.NET MVC框架实现这个网站的,这个方法会很自然地将代码结构化为独特的控制器,模型和视图组件。 当浏览器向我们的网站发送一个HTTP请求时,ASP.NET MVC框架将使用它的URL路径选择引擎,把进来的请求映射到一个控制器上的action方法来处理它。在基于MVC的应用中的控制器负责处理进来的请求,处理用户输入和交互,执行基于这些输入和交互的应用逻辑(获取或更新存储在数据库中的模型数据等等)。 到生成返回到客户端的HTML回复的时候,控制器一般是与“视图”组件合作,这些视图组件是以独立于控制器的单独的类或模板的形式实现的,其目的是完全注重于封装显示逻辑。 视图不应该含有任何应用逻辑或数据库访问代码,所有的应用/数据逻辑应该由控制器类来处理。这么划分的动机是帮助强制你的应用/数据逻辑与界面生成代码间的清晰分离。同时这也方便你独立于你的界面显示逻辑来单元测试你的应用/数据逻辑。 视图应该只使用从控制器传过来的特定于视图的数据来生成输出。在ASP.NET MVC框架中,我们称这个特定于视图的数据为“ViewData”。这个博客的其他部分将讨论你可以用来将ViewData从控制器传递给视图来生成显示的一些不同方法。 一个简单的产品列表场景 为帮助说明我们可以用来把ViewData从控制器传递给视图的一些技术,让我们来建造一个简单的产品列表网页: 我们将用一个CategoryID整数来过滤我们想要显示在页面上的产品。注意上面我们是如何把CategoryID嵌在URL中的(例如,Products/Category/2 或 /Products/Category/4 )。 然后,我们的产品列表网页显示了2个不同的动态内容元素。第一个元素是我们要显示的分类的文本名称(例如,Condiments-调味品),第二个元素是一个HTML <ul><li/></ul> 产品名字列表。我在上面的屏幕截图中对这2个元素用红笔画了圈。 在下面,我们将看一下我们可以使用的2个不同的方法来实现ProductsController类,这个类处理进来的请求,获取处理请求所需的数据,然后将这个数据传给一个List视图来显示。我们要研究的第一个方法是用后期绑定的字典对象传递这个数据,第二个方法则使用强类型类的方式来传递这个数据。 方法 1:使用 Controller.ViewData 字典来传递ViewData Controller基类有个ViewData字典属性,可以用来填充你要传给视图的数据。你使用键/值模式将对象加入 ViewData 字典。 [...]

Posted in 未分类 | Tagged , , | 19 Comments

ASP.NET MVC框架 (第二部分): URL路径选择

【原文地址】ASP.NET MVC Framework (Part 2): URL Routing【原文发表日期】 Monday, December 03, 2007 2:44 AM 上个月,我发表了我要撰写的系列贴子中的第一篇,这些帖子将讨论我们正在开发的新ASP.NET MVC框架。这个系列的第一个贴子建造了一个简单的电子商务产品列表/浏览场景,讨论了MVC后面的高层次的概念,示范了如何从头创建一个新ASP.NET MVC 项目,实现和测试电子商务产品列表的功能。 在今天的贴子里,我将深入讨论ASP.NET MVC框架的路径选择(routing)架构,讨论一些很酷的定制方式,你可以将其用于你应用中的一些更高级的场景。 第一部分的扼要简述 在这个系列的第一部分里,我们创建了一个电子商务网站,呈示了三类URL: URL格式 行为 URL例子 /Products/Categories 浏览所有的产品分类 /Products/Categories /Products/List/Category 列出一个分类中的产品 /Products/List/Beverages /Products/Detail/ProductID 显示一个特定产品的细节 /Products/Detail/34 我们通过创建象下面这样一个ProductsController类来处理这些URL: 在把上面这个类加到我们的应用中后,ASP.NET MVC框架就会把进来的URL自动导向到我们的控制器上的适当的action方法来处理请求。 在今天的贴子里,我们将深入讨论这个URL映射是如何发生的,以及探讨我们可以在ASP.NET MVC框架中利用的更高级的路径选择(routing)场景。我还将示范你如何可以轻松地单元测试URL路径选择场景。 ASP.NET MVC URL路径选择系统都做些什么? ASP.NET MVC框架包括了一个很灵活的URL路径选择系统,它允许你在应用中定义URL映射规则。路径选择系统有2个主要目的: 把进来的URL映射到应用,并把它们做导向,这样,正确的Controller和Action方法执行来处理这些请求 构建可以用来回调Controllers/Actions的输出到客户端的URL(例如,表单提交, <a href=””> 链接, 和 AJAX 调用等等) 能够使用URL映射规则来同时处理进来的和输出的URL场景给应用代码添加了许多灵活性。这意味着,如果我们以后想改变应用的URL结构的话(譬如,把 /Products 改名为 /Catalog),我们可以修改应用层次的一套映射规则即可,而不需要改动控制器或视图模板中的任何代码。 [...]

Posted in 未分类 | Tagged , , | 25 Comments

VS 2008版的ASP.NET AJAX控件工具包和Web部署项目

【原文地址】ASP.NET AJAX Control Toolkit and Web Deployment Project Releases for VS 2008 【原文发表日期】 Saturday, December 01, 2007 11:26 AM 这个星期,我的团队发布了ASP.NET AJAX控件工具包以及Visual Studio Web部署项目包的更新版。这两个更新版是设计来在VS 2008和.NET 3.5下工作的。 ASP.NET AJAX控件工具包 ASP.NET AJAX控件工具包是个免费下载,内含40多个AJAX控件和组件,它们是建立在目前已经成为.NET 3.5一部分的核心ASP.NET AJAX功能之上的(对ASP.NET 2.0,你可以单独下载这个工具包)。除了微软开发人员有贡献代码外,这个项目还有几十个非微软的代码贡献者,添加了非常棒的功能和控件。 这个星期发布的ASP.NET AJAX控件工具包更新版修补了大家在VS 2008 Web设计器中使用控件工具包的extender控件时遇上的一些问题。所做的唯一改动是调整控件工具包程序集的版本号(David Anson在这里有该改动的有关详情)。我绝对推荐你去下载这个更新版,如果你在使用VS 2008或者Visual Web Developer 2008 Express版的话。 你还可以通过我的链接系列找到一系列关于ASP.NET AJAX和ASP.NET AJAX控件工具包的文章(特别是要阅读一下我这个贴子,那是个专门的ASP.NET AJAX链接帖子)。也读一下我以前的在VS 2008中使用ASP.NET AJAX控件Extenders的贴子,以了解VS 2008和Visual Web Developer 2008 Express版本中ASP.NET AJAX控件工具包的集成设计时支持的有关详情。 最后,去看一下www.asp.net网站上这里以及这里的精彩ASP.NET [...]

Posted in 未分类 | Tagged , , , , | 7 Comments