利用 ASP.NET AJAX 使 Web Parts 可以在 FireFox 中拖曳

ASP.NET 2.0 提供一套 Web Parts 控件,使得我们可以很方便的开发个性化的自定义网站,但它有一个致命的缺点,就是无法在 FireFox 浏览器中使用。不过利用ASP.NET 2.0 AJAX Futures CTP 我们终于可以让 Web Parts 在 FireFox 中拖曳了。

1、添加 ASP.NET 2.0 AJAX Futures 的引用,建议采用 ASP.NET AJAX CTP-Enabled Web Site 项目(如果是升级现有项目,可以把后面配置好的 web.config 整合一下就 OK 了)

2、添加 <tagMapping> 标签,如下所示:

<system.web>
  ...
  <pages>
    <tagMapping>
      ...
      <add tagType="System.Web.UI.WebControls.WebParts.WebPartManager" mappedTagType="Microsoft.Web.Preview.UI.Controls.WebParts.WebPartManager"/>
      <add tagType="System.Web.UI.WebControls.WebParts.WebPartZone" mappedTagType="Microsoft.Web.Preview.UI.Controls.WebParts.WebPartZone"/>
    </tagMapping>
  </pages>
</system.web>

以下是我做的一个示例效果图:

在 IE7.0 中:

WebPartsInIE7

在 FireFox2.0 中:

WebPartsInFF2

posted @ 2007-07-24 11:50 Clark Zheng 阅读(988) 评论(6)  编辑 收藏 所属分类: A. .NET

  回复  引用  查看    
#1楼 2007-08-06 16:43 | shawn [未注册用户]
能不能拖动后不刷新页面呀? 这个问题比较郁闷
  回复  引用  查看    
#2楼 [楼主]2007-08-06 17:10 | Clark Zheng      
@shawn
试试把WebPartZone放到UpdatePanel里
  回复  引用  查看    
#3楼 2007-10-10 11:14 | base [未注册用户]
想问一下我的WebPartZone里的WebPart一直都不能像你这样拖动到其他的WebPartZone中是怎么回事?
  回复  引用  查看    
#4楼 [楼主]2007-10-10 13:19 | Clark Zheng      
@base
设置WebPartManager的DisplayMode属性,有几种模式
  回复  引用  查看    
#5楼 2007-10-10 15:42 | base [未注册用户]
@Clark Zheng
设置没有问题,刚试了一下原来是在VS里面直接浏览的时候有问题,不能拖动。用IE打开就没问题了。搞了好几天才弄清楚,晕了!

我用的是VS 2005 SP1,不知道是不是补丁的问题,你用的是那版本?在VS中打开没有问题?
  回复  引用  查看    
#6楼 [楼主]2007-10-10 17:46 | Clark Zheng      
@base
在VS页面设计模式下肯定是不行的,运行期才可以拖动,和VS版本无关