惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
O
OpenAI News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
S
Security Affairs
SecWiki News
SecWiki News
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
P
Palo Alto Networks Blog
L
LINUX DO - 最新话题
H
Hacker News: Front Page
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
K
Kaspersky official blog
The GitHub Blog
The GitHub Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
B
Blog
IT之家
IT之家
AWS News Blog
AWS News Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
N
News and Events Feed by Topic
Security Latest
Security Latest
美团技术团队
C
Check Point Blog
WordPress大学
WordPress大学
T
Tenable Blog
S
Security @ Cisco Blogs
Last Week in AI
Last Week in AI
博客园 - 聂微东
月光博客
月光博客
博客园 - 【当耐特】
S
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Schneier on Security
Schneier on Security
C
Cisco Blogs
Cyberwarzone
Cyberwarzone

博客园 - 大熊(BigBear)

ADO.net实现批量SQL操作. - 大熊(BigBear) - 博客园 Application_AcquireRequestState事件,导致Ajax客户端不能加载 CSLA.Net在Web项目中使用SQL2005的分页 Moss中Form验证中"找不到匹配项"问题的处理 对于知识库系统建设的思考 知识管理中知识地图详解〔转〕 知识管理中的一些概念 Aop面向方面编程之PostSharp框架 [摘]IIS上部署WCF的问题 Linq使用之分组 Silverlight表格绑定中的一点细节处理 - 大熊(BigBear) 页面加载性能的优化 由一棵树绑定引发的遐想 IBatis.Net使用MemCached替换内置缓存策略 .Net下调用Java安全Web服务 Webpart深入(二) ASP.NET MVC 中文文档3 ASP.NET MVC 中文文档2 ASP.net MVC 中文文档1
Webpart深入(一)
大熊(BigBear) · 2009-02-26 · via 博客园 - 大熊(BigBear)

因为最近一个项目需要使用Webpart技术, 对于这个.net2.0时代的事物, 我算是个后进生, 所以只得临时抱佛脚.遇到了一些问题,顺道总结一下.

1.  自定义个性化Provider: 继承PersonalizationProvider,重载其中的关键虚方法即可. 很多文章讲述到这个,不在累述.

2.  自定义的目录列表: 我想实现的效果是, webpart的目录视图中, 可以从数据库中动态的加载一个用户可供使用的webpart组件列表.

这个时候, 我们需要继承System.Web.UI.WebControls.WebParts.CatalogPart,重载其中的GetAvailableWebPartDescriptions()GetWebPart(WebPartDescription description)方法.类似如下代码:

Code

在页面上使用时放入CatalogZone.另外DeclarativeCatalogPart中的属性WebPartsListUserControlPath也很好用, 可以指向一个用户控件, 这个用户控件页面中包含几个Webpart组件, 目录的列表中就有几个, 也算是比较动态了.

Code

3.  不让用户在界面上重复的添加同一个Webpart控件: WebPartManager控件有个OnWebPartAdding, 在组件被添加到界面前触发, 利用这个机会,就可以进行判断.

Code

4.  只有用户拥有权限的Webpart才在界面上显示出来. WebPartManager类在加载每个Webpart组件时都有一个onauthorizewebpart事件, 在事件中判断用户对这个Webpart的权限, 这样即便是这个组件在共享视图中, 没有权限也不会显示出来.

Code