Asp.Net2.0之WebPart


  WebPart组件包括 2个WebPart管理组件:WebPartManager、ProxWebPartManager,后面的这个一看就知道是个代理。 1个WebPart容器:WebPartZone,可以把一组asp.net控件放在这个Zone里面 2个WebPartZone编辑容器:EditorZone、CatalogZone。分别用于放置EditorPart和CatalogPart。 1个WebPart通信工具:ConnectionsZone,用于WebPart间通信。 EditorZone里可以放:ApperanceEditorPart、BehaviorEditorPart和LayOutEditorPart,功能一看便知。 CatalogZone里可以放:DeclarativeCatalogpart、PageCatalogPart和ImportCatalogPart,分别用于动态增加WebPart、显示已经关闭了的WebPart和导入WebPart。 在asp.net中试用Webpart的步骤如下: 第一步,执行aspnet_regsql.exe安装aspnetdb数据库。 第二步,新建一个WebSite,添加一个Web页面 第三步,在WebSite的Web.Config文件的中添加数据库连接定义    在中添加WebPart配置,        如果还需要进行权限配置,可以参考Asp.Net2.0的web.config文件。 注意:如果把aspnetdb安装在本机SqlServer2005默认实例上,那么此步就不需要了。 第四步,从toolbox中拖一个WebPartManager到页面,设置其Personalization.ProviderName等于第三步中的的Name,红色标示了。 同样,如果是SqlServer2005默认实例,这个属性就不用设了。 第五步,拖几个WebPartZone到页面,在里面加控件。如果需要在客户端编辑WebPart,就拖一个EditorZone过来,再拖几个EditorPart到EditorZone里。如果需要动态隐藏、显示、添加WebPart,就拖一个CatalogZone过来,再托几个CatalogPart到CatalogZone里面。如果需要在WebPart间通信,就拖个ConnectionsZone过来好了。 第六步,在页面加几个按钮,在按钮事件里设置WebPartManager的显示模式,分别用于Editor和Catalog。如: this.WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode; this.WebPartManager1.DisplayMode = WebPartManager.CatalogDisplayMode; this.WebPartManager1.DisplayMode = WebPartManager.BrowseDisplayMode; 注意:需要去掉iis的匿名访问模式,采用Windows认证模式或其他认证模式,但又不能没有认证模式。 原因也很简单,大家都知道,我就不说了吧。 这几天学习使用WebPart,发现众多问题,使用点滴记录如下,同各位共享: 1、WebPart的使用必须基于一个通过身份验证的用户会话。 2、WebPart的使用的个性化应用于所有人的选项默认是禁用的,可以通过修改Web.config来完成        3、WebPart 默认使用页面的 URL 存储个性化数据.但是不包含 querystrings,现在要实现在通用的页面(模版)来实现简单的门户系统,通过不同的querystrings来读取个人,部门等的数据。这样个人自己设定的设定可以直接和别人共享。这样的需求在现有的WebPart系统上无法实现,在WebPart Components for Asp.net 2.0: Workspace home URL:http://www.gotdotnet.com/workspaces/workspace. aspx?id=65fa26c3-a62a-49d6-895d-422272e53a0c 有一个这样的WebPart系统可以满足需求。这个WebPart的作者介绍:http://fredrik.nsquared2.com/viewpost.aspx?PostID= 326 4、启用WebPart得导出功能:修改web.config中WebPart的设置  5、导入自定义的webPart 出现错误:Cannot add a control of Type DotnetClubPortal.WebControls.WebParts.RSSReader. The Type must be loadable by BuildManager.GetType(string typeName). 处理办法:修改web.config文件:      http://msdn2.microsoft.com/en-us/library/e0s9t4ck( en-US,VS.80).aspx 文章引用自:http://shanyou.cnblogs.com/archive/2005/12/03/2901 25.aspx 启用匿名验证即可。   以上是我转载的一些关于Web parts的资料, 没有相关的教材ASP.NET 2.0学起来就是很费劲 Web parts默认使用的是SQLExpress数据库 也可以使用其他的数据源 -AccessPersonalizationProvider -SqlPersonalizationProvider -也可以使用自定义Provider    1,外观文件SKIN,他是分离了样式和HTML,使之能构分离独立开发,在开发中你可以建立多组外观,更新页面外观样式只是把SKINID改变,对网站的界面更新提供很大的方便 2,数据库的操作,我这里指的是SQL 2005,因为VS 2005默认使用的是SQPExpress数据库文件模式,所以如果要使用SQL 2005必须修改VS 2005默认连接数据库属性 在web.config里做如下修改   3,Web parts,这个应该是MS在VS 2005里提供的做有特色的一组控件,不过没有教材,自学起来还是太费劲, 第一,Web parts必须要有SQL 2005的支持,用2000会提示错误,缺少一个存储过程 第二,WebPart的使用的个性化应用于所有人的选项默认是禁用的,必须打开,(怎么打开还在研究,研究出来会更新) 第三,WebPart的使用必须基于一个通过身份验证的用户会话,并且如何把用户的个性化数据保存起来,这也是个要解决的问题 4,membership这个对象的使用,在VS 2005里权限问题得到很好的解决,可以使用membership来创建自己用户角色,并对用户的管理大大提供,做验证的时候不必再用Session了,因为Session有个漏洞,你注销完,再点浏览器上的后退仍然可以返回后台界面,而用VS 2005的Login控件就可以轻松完成,不需要写任何代码 总结一下,现在VS 2005给程序员的不再是枯燥的编写大量代码,而是个性化设置控件的属性来完成对网站的整体开发 AJAX技术是越来越火,你在VS 2005一样可以灵活的运用AJAX和SKIN来设计页面,我想这也是MS的预见能力的体现。 

你可能感兴趣的:(asp.net)