<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Cat in dotNET_分类_*Most Practical*</title><id>http://feed.cnblogs.com/blog/u/22107/category/76687/rss</id><updated>2012-05-30T18:32:29Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/category/76687.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/22107/category/76687/rss"/><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html</id><title type="text">十分钟内学会：控制浏览器是否缓存网页状态</title><summary type="text">Question在Firefox等浏览器中，如果你打开一个页面并进行若干操作，例如在文本框进行输入，甚至点击按钮进行Ajax操作更新页面局部，这些操作的结果都会被缓存下来。在你点击链接离开这个页面后，如果你通过后退按钮回到这个页面，你会发现它仍出于你离开时的状态，而非页面刚刚加载好后的初始状态。在一些情况下，这样的缓存方式是符合我们预期的；但在另外一些情况下，我们更希望页面恢复到初始状态，或者说让...</summary><published>2009-10-09T06:59:00Z</published><updated>2009-10-09T06:59:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html"/><content type="text">Question在Firefox等浏览器中，如果你打开一个页面并进行若干操作，例如在文本框进行输入，甚至点击按钮进行Ajax操作更新页面局部，这些操作的结果都会被缓存下来。在你点击链接离开这个页面后，如果你通过后退按钮回到这个页面，你会发现它仍出于你离开时的状态，而非页面刚刚加载好后的初始状态。在一些情况下，这样的缓存方式是符合我们预期的；但在另外一些情况下，我们更希望页面恢复到初始状态，或者说让...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/04/03/1428857.html</id><title type="text">十分钟内学会：避免用户刷新导致重复POST提交</title><summary type="text">Question在Web应用中，采用POST提交信息是非常常见的，然而如果目标页面打开得太慢，用户就可能会刷新页面，这时候之前已经提交过的信息就会被重复提交。即使用户成功打开了POST提交目标页，之后他通过链接导航到别处了，再退回到POST提交目标页时仍可能会重复提交页面（例如因为浏览器缓存已失效）。而且，只要碰到重复POST提交的场景，浏览器就会问用户是否确认重做此操作，用户并不一定能正确理解重...</summary><published>2009-04-03T03:56:00Z</published><updated>2009-04-03T03:56:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/04/03/1428857.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/04/03/1428857.html"/><content type="text">Question在Web应用中，采用POST提交信息是非常常见的，然而如果目标页面打开得太慢，用户就可能会刷新页面，这时候之前已经提交过的信息就会被重复提交。即使用户成功打开了POST提交目标页，之后他通过链接导航到别处了，再退回到POST提交目标页时仍可能会重复提交页面（例如因为浏览器缓存已失效）。而且，只要碰到重复POST提交的场景，浏览器就会问用户是否确认重做此操作，用户并不一定能正确理解重...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2007/03/22/683962.html</id><title type="text">十分钟内学会：自动识别GB2312与UTF-8编码的文件</title><summary type="text">Question在简体中文系统中，我们有时候需要打开一个保存在磁盘上的纯文本文件，例如txt，但却不知道其保存编码，该怎么办呢？如果文本只需要在Windows上显示，那就很幸运了，因为无论是GB2312还是UTF-8编码的string都能够正确显示。但如果需要输出到ASP.NET页面上就不是那么简单了，因为如果页面编码为UTF-8但纯文本文件导入的string是GB2312，那就会导致乱码，反之亦...</summary><published>2007-03-22T06:08:00Z</published><updated>2007-03-22T06:08:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2007/03/22/683962.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2007/03/22/683962.html"/><content type="text">Question在简体中文系统中，我们有时候需要打开一个保存在磁盘上的纯文本文件，例如txt，但却不知道其保存编码，该怎么办呢？如果文本只需要在Windows上显示，那就很幸运了，因为无论是GB2312还是UTF-8编码的string都能够正确显示。但如果需要输出到ASP.NET页面上就不是那么简单了，因为如果页面编码为UTF-8但纯文本文件导入的string是GB2312，那就会导致乱码，反之亦...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2007/02/07/643336.html</id><title type="text">十分钟内学会：将HTML格式化为合法的XML</title><summary type="text">Question在网站中需要引入来自外部的HTML，这是很正常的事情。例如允许用户采用HTML直接发表时，或者聚合外部的Feed时，这时候外部的HTML就直接嵌入到我们的代码中。如果我们的网站是设计为符合XHTML的，那就可能因为引入外部HTML而破坏掉XHTML的合法性，甚至连合法的XML都做不到。这时候我们就需要将外部的HTML格式化为合法的XML，以方便我们的处理。Answer要将HTML转...</summary><published>2007-02-07T04:14:00Z</published><updated>2007-02-07T04:14:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2007/02/07/643336.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2007/02/07/643336.html"/><content type="text">Question在网站中需要引入来自外部的HTML，这是很正常的事情。例如允许用户采用HTML直接发表时，或者聚合外部的Feed时，这时候外部的HTML就直接嵌入到我们的代码中。如果我们的网站是设计为符合XHTML的，那就可能因为引入外部HTML而破坏掉XHTML的合法性，甚至连合法的XML都做不到。这时候我们就需要将外部的HTML格式化为合法的XML，以方便我们的处理。Answer要将HTML转...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2006/12/29/607442.html</id><title type="text">十分钟内学会：根据数据库生成站点导航</title><summary type="text">Question上次的《十分钟内学会：存储在二维表的树结构如何进行指定深度节点的查询》提到用树结构表示无限分级的商品分类或论坛板块，也就是说这种树结构常常用于存储与导航相关的信息，该如何让网站导航自动按照数据库中存储的树结构自动生成呢？Answer继承自SiteMapProvider要实现站点导航，在ASP.NET 2.0中最方便的就是SiteMap功能了。如果仅仅使用XmlSiteMapProv...</summary><published>2006-12-29T14:28:00Z</published><updated>2006-12-29T14:28:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2006/12/29/607442.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2006/12/29/607442.html"/><content type="text">Question上次的《十分钟内学会：存储在二维表的树结构如何进行指定深度节点的查询》提到用树结构表示无限分级的商品分类或论坛板块，也就是说这种树结构常常用于存储与导航相关的信息，该如何让网站导航自动按照数据库中存储的树结构自动生成呢？Answer继承自SiteMapProvider要实现站点导航，在ASP.NET 2.0中最方便的就是SiteMap功能了。如果仅仅使用XmlSiteMapProv...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2006/12/16/594463.html</id><title type="text">十分钟内学会：让你的博客文章也有机会成上Digg头版</title><summary type="text">是否非常羡慕别人的文章有机会冲上Digg头版，接着带来大量的访客呢？是否也希望自己的文章也能受到链接的宠爱，从而获得更高的PageRank呢？好，跟我来，让我帮你把文章接入到Social Software中。 首先，你知道Social Software是什么吗？从广义上来说，就是能够让人们联系或聚集到一起的软件，老式的邮件列表或者新闻组也算是，然而通常我们用它指现代的blog和wiki平台。我们正...</summary><published>2006-12-16T14:42:00Z</published><updated>2006-12-16T14:42:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2006/12/16/594463.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2006/12/16/594463.html"/><content type="text">是否非常羡慕别人的文章有机会冲上Digg头版，接着带来大量的访客呢？是否也希望自己的文章也能受到链接的宠爱，从而获得更高的PageRank呢？好，跟我来，让我帮你把文章接入到Social Software中。 首先，你知道Social Software是什么吗？从广义上来说，就是能够让人们联系或聚集到一起的软件，老式的邮件列表或者新闻组也算是，然而通常我们用它指现代的blog和wiki平台。我们正...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2006/12/12/589464.html</id><title type="text">十分钟内学会：存储在二维表的树结构如何进行指定深度节点的查询</title><summary type="text">Question 在设计ASP.NET网站时，无限分级的商品分类或者论坛板块都可以使用树结构表示，存放到关系型数据库时大家也懂得用Id和ParentId两个字段来表示节点间的关系。 然而这种最省存储空间的表示方法却不是最有效率的，在需要查询指定深度节点时就会遇到问题。我们需要通过递归来逐层展开才能获取到所有该层的节点，然后再在其中进行查询实在既浪费时间又浪费空间。那么有没有更好的做法呢？ Answ...</summary><published>2006-12-11T16:36:00Z</published><updated>2006-12-11T16:36:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2006/12/12/589464.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2006/12/12/589464.html"/><content type="text">Question 在设计ASP.NET网站时，无限分级的商品分类或者论坛板块都可以使用树结构表示，存放到关系型数据库时大家也懂得用Id和ParentId两个字段来表示节点间的关系。 然而这种最省存储空间的表示方法却不是最有效率的，在需要查询指定深度节点时就会遇到问题。我们需要通过递归来逐层展开才能获取到所有该层的节点，然后再在其中进行查询实在既浪费时间又浪费空间。那么有没有更好的做法呢？ Answ...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2006/12/10/587925.html</id><title type="text">十分钟内学会：无刷新的页面间导航</title><summary type="text">Question 通过ASP.NET AJAX，我们能够实现页面内无刷新的异步回送。然而我们不可能将功能都放在一个页面里，这样设计非常不方便，动态加载控件的逻辑也复杂，所以还是要在多个页面间导航。可以让这种页面间的导航也无刷新吗？ Answer 要页面间导航当然要刷新，这是无法避免的，但我们总不能把原本属于多个页面的逻辑塞在一个页面里吧，所以要想个办法把这些逻辑分开来。这里用到一个小技巧，就是使用...</summary><published>2006-12-10T06:18:00Z</published><updated>2006-12-10T06:18:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2006/12/10/587925.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2006/12/10/587925.html"/><content type="text">Question 通过ASP.NET AJAX，我们能够实现页面内无刷新的异步回送。然而我们不可能将功能都放在一个页面里，这样设计非常不方便，动态加载控件的逻辑也复杂，所以还是要在多个页面间导航。可以让这种页面间的导航也无刷新吗？ Answer 要页面间导航当然要刷新，这是无法避免的，但我们总不能把原本属于多个页面的逻辑塞在一个页面里吧，所以要想个办法把这些逻辑分开来。这里用到一个小技巧，就是使用...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2006/11/21/567685.html</id><title type="text">十分钟内学会：让GridView支持按行选中及多选</title><summary type="text">Question 如何能让GridView支持选中多行？并且PostBack时要能确定哪些行有被选中哪些行没被选中。 Answer 网上关于GridView多选的实现方式的讨论也不少，有一些需要直接输出&lt;input /&gt;并指定其name属性，或者需要通过Request.Form获取提交表单的数据，这些都解决方案都无法让我满意。我使用ASP.NET的原则就是，别人封装好的东西绝对不要伸手...</summary><published>2006-11-21T11:34:00Z</published><updated>2006-11-21T11:34:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2006/11/21/567685.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2006/11/21/567685.html"/><content type="text">Question 如何能让GridView支持选中多行？并且PostBack时要能确定哪些行有被选中哪些行没被选中。 Answer 网上关于GridView多选的实现方式的讨论也不少，有一些需要直接输出&lt;input /&gt;并指定其name属性，或者需要通过Request.Form获取提交表单的数据，这些都解决方案都无法让我满意。我使用ASP.NET的原则就是，别人封装好的东西绝对不要伸手...</content></entry></feed>
