技巧和诀窍:在ASP.NET AJAX UpdatePanel中实现对后退/前进按钮的支持
2006-09-15 by 开心就好【原文地址】Tip/Trick: Enabling Back/Forward-Button Support for ASP.NET AJAX UpdatePanel
【原文发表日期】Thursday, September 14, 2006 12:25 PM
Nikhil最近写了一个好帖子,是关于一个叫做HistoryControl的支持AJAX的新ASP.NET 控件的。把它加到页面上后,允许开发人员用编程手段往浏览器的历史记录里添加逻辑视图(logical view)。这将使得支持AJAX的网站更加有用,而且遵循传统web应用所遵循的标准的前进/后退的导航惯例。
譬如,通过Nikhil的HistoryControl,开发人员可以编写类似下面这样的编码来响应一个列表的选择变动,并且把列表选择当作标识符添加到浏览器的历史记录中去:
你一旦往历史控件里添加新项后,浏览器中的后退/前进按钮就被激活了。Nikhil的历史控件提供了一个Navigate事件,当你在浏览器里按后退/前进按钮时,这个事件就会被触发,同时它在事件处理函数的参数里提供了早先在把逻辑视图添加进浏览器历史记录时所用的那个标识符。然后你就可以使用这个标识符来把页面回复到跟这个历史记录相对应的页面状态了:
<font color="blue">
private void </font>
<font color="black">
HistoryControl_Navigate(</font>
<font color="blue">
object </font>
<font color="black">
sender, HistoryEventArgs e) {
</font>
<font color="blue">
int </font>
<font color="black">
selectedIndex </font>
<font color="blue">
= </font>
<font color="maroon">
0</font>
<font color="blue">
;
if </font>
<font color="black">
(String.IsNullOrEmpty(e.Identifier) </font>
<font color="blue">
== false</font>
<font color="black">
) {
selectedIndex </font>
<font color="blue">
= </font>
<font color="black">
Int32.Parse(e.Identifier)</font>
<font color="blue">
;
</font>
<font color="black">
}
</font>
<font color="darkgreen">
// Update the content being displayed in the page
</font>
<font color="black">
contentList.SelectedIndex </font>
<font color="blue">
= </font>
<font color="black">
selectedIndex</font>
<font color="blue">
;
</font>
<font color="darkgreen">
// Mark the update panels as needing an update
</font>
<font color="black">
mainUpdatePanel.Update()</font>
<font color="blue">
;
</font>
<font color="black">
}</font>
这样你的用户在使用AJAX应用时也能使用前进/后退按钮来作导航了。你可以在这里下载Nikhil的历史控件的编码,开始用在你的项目里。
希望本文对你有所帮助,
Scott
::: postfoot
(思归译) :::
Atlas 1.0版的命名和产品发布计划
【原文地址】"Atlas" 1.0 Naming and Roadmap
【原文发表日期】Monday, September 11, 2006 10:01 AM
在过去的一年内,我们一直在奋力开发Atlas。Atlas一直在发展,变化和成长,是因为我 …
read moreCSS 控件适配器工具包新版发布
【原文地址】CSS Control Adapter Toolkit Update
【原文发表日期】Friday, September 08, 2006 6:53 PM
今天,我们发布了ASP.NET 2.0的CSS控件适配器的更新版本,内中包含了bug fixes,用户建议的 …
read moreIIS 7.0 RC1
【原文地址】IIS 7.0 RC1
【原文发表日期】Thursday, September 07, 2006 12:05 AM
你也许已经听说过了,上个星期晚些时候,我们发行了Windows Vista RC1。过去的几 …
read moreIronPython 1.0发布了
【原文地址】IronPython 1.0 Released
【原文发表日期】Wednesday, September 06, 2006 1:27 AM
我非常兴奋地宣布,今天我们发布了IronPython .NET项目的V1.0版。点击这里从CodePlex免费下载相关的程序,源码以及教 …
read more技巧和诀窍:用VS 2005创建可重用的项目和部件模板
【原文地址】Tip/Trick: Creating Re-Usable Project and Item Templates with VS 2005
【原文发表日期】Monday, September 04, 2006 1:19 PM
通常地,当你做项目时,你有一个标准的做法你喜欢用 …
read more.NET 点滴
1。Scott Guthrie的博客开始连载怎么在ASP.NET中使用LINQ
Using LINQ with ASP.NET (Part 1)
http://weblogs.asp.net/scottgu/archive/2006/05/14/446412.aspx
第一部分演示了怎么使用五月份LINQ技术预览版提供的LINQ ASP.NET …
read moreLINQ技术预览的新版本发布了
The LINQ Project
http://msdn.microsoft.com/data/ref/linq/
ADO.NET 3.0
.NET 点滴
1。[来源:Scott Guthrie] ASP.NET 2.0 Providers的源码供下载了,很多人都报道这个消息了,这绝对是个好消息
如果你对Provider模型不熟,可以参考MSDN上的系列文章 …
read more.NET 点滴
1。 [来源:Jesús Rodríguez] W3C发布针对XMLHttpRequest的工作草案
The XMLHttpRequest Object
http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/
2。 [来源:Federal Developer Weblog] Internet Explorer Developer Toolbar
该套工具能帮助开发人员很快地生成网页,理解和排除网 …
read more.NET 点滴
1。根据Scott Guthrie,MySpace.com每天的Page View量高达15亿,他们现在用的是ASP.NET 2.0和IIS6。移植到ASP.NET 2.0后,服务器的CPU平均利用率从85%下降到27%。
http://weblogs.asp.net/scottgu/archive/2006/03/25/441074.aspx …
read more.NET 点滴
1。Team Foundation Server 1.0 正式发布!
根据Rob Caron,拥有 Team Suite(或角色Team Editions)的,不久就可以下载限为5个用户的Team Foundation Server Workgroup Edition
2。 [来源:Bertrand Le Roy] Ruby.NET
由澳大利 …
第16届Jolt Product Excellence奖
在第16届Jolt Product Excellence奖中,微软产品获的奖:
1。企业项目管理类别,Visual Studio Team System 2005获得Productivity奖(该类别的Jolt奖得主为Welcom的WelcomRisk 2.6)
2。数据库引擎和数据工具类别,SQL Server 2005获得Jolt 奖 …
.NET 点滴
1。在ASP.NET占用高内存时的几则快速检测
Quick things to check when you experience high memory levels in ASP.NET
http://support.microsoft.com/kb/893660/en-us
[来源: Suresh Behera]
2。在没有安装VS 2005的情形下怎么使用网站管理工具
http://blogs.msdn.com/rahulso/archive/2006/03/09/547402.aspx
3。3月23日, 4月20日 …
read more【大惊小怪】 HtmlControl之Site属性
这几天在翻看《Professional ASP.NET 2.0》一书,在第110页上看到列出的HtmlControl的Site属性
Site
Provides information about the Web site for which the server control belongs.
!&\$@#*\^@%\$@!??有点发晕,查看Visual Studio 2005的文档,
Site
Gets information about the container that hosts the current control when …
read more.NET 点滴
- [来源Anand Iyer] 从3月6日开始,微软将推出一系列的ASP.NET 2.0 Webcast ,而且还有礼物赠送
http://www.learn2asp.net/campaign.aspx
- 2月份WCF CTP的变动
What happened to IChannelBehavior?
http://blogs.msdn.com/mahjayar/archive/2006/02/26/539736 …
.NET 点滴
- MSDN上的ASP.NET《怎么做。。。》系列教学录像,包括缓存,定制登陆门户,Master Pages/Site Navigation/Membership/Roles/Profiles/Themes,Web Parts/Personalization等等
http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx
当然,这里还有ASP …
read more安装Team Foundation Server
应老板要求,在一个空白的Windows 2003机器上安装Beta 3 Refresh版。这次的经历比安装Beta 2时要好多了。读著Team Foundation Installation Guide,按步就班地安装,一次成功。就是在安装SQL Server 2005企业版时有点问题 …
read more新的VB 9 LINQ CTP 版
该版不是早先发行的PDC版的简单更新,而是包含了新的编码。新的功能包括
1。IDE的LINQ Intellisense支持
2。对DLinq比较多的 支持
3。编译器对编辑XML字符串的支持
4。XML后期绑定,包括XML命名空间的Import写法,IEnumerable的索引器等
5。XML内嵌表达式句法的统一,全 …
WinFX 一月份的社区技术预览版(CTP)出来了
[来源: Michael Swanson, Tim Sneath]
同时还提供WCF/WWF的Go-Live licenses,但由于客户端环境的难控制性,目前还没有WPF的Go-Live license
WinFX Runtime Components:
http://www.microsoft.com/downloads/details.aspx?FamilyId=61DD9CA7-1668-42E4-BD37-03716DD83E53&displaylang=en
Go-Live licenses …
read more又一个里程碑,又见无数不眠夜
代码生成器 SQLMetal
随LINQ一起来的工具里,有个Entity Class Generator Tool,叫SQLMetal,能连接到数据库直接产生跟数据表对应的Entity Class,就象上个帖子里的例子一样
SqlMetal /server:(local) /database:DLINQ /delayfetch /pluralize /namespace …
read moreLINQ非常酷
读完文档,I am in awe,虽然感觉这玩意带来的编程模型的变化会很大
对DLINQ的基于属性的做法
[Table(Name="Customers")]
public class Customer
{
[Column(Id=true)]
public string CustomerID;
[Column]
public string City;
}
不是很认 …
read moreNew features in C# 3.0
Anders Hejlsberg接受Channel 9的采访,谈到如何把数据编程与对象编程统一起来
也参考
上面有 LINQ的技术预览,包括示范程序,白皮书文档,hands-on labs以及为使用LINQ技术编程所需的编译器支持,可以在Visual Studio 2005 …
read more