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

推荐订阅源

爱范儿
爱范儿
量子位
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
J
Java Code Geeks
B
Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
A
About on SuperTechFans
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
H
Help Net Security
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
L
LangChain Blog

博客园 - 谢小漫

获取枚举描述信息(Description)2 - 谢小漫 - 博客园 mshtml组件引用的问题 导出所有用户表到excel Sql Server数据导出EXCEL C#的串口编程 DataReceived XML-RPC.NET的X509Certificates如何使用呢 XML-RPC.NET 在读《C#和.NET 2.0实战》 如何在ASP.NET中做异步 如何在winform中用委托做异步 C#的串口编程 重新开始学习.net 在看Test-Driven Development In Microsoft .NET 最近了解过的一个支付接口 网站的第三天 BAIDU的第一个搜索访问进入网站 不错的日期选择 星期六提交sitemap 关于代码自动生成器
弹出选择窗体控件(附源码)
谢小漫 · 2010-01-30 · via 博客园 - 谢小漫

弹出选择窗体控件(附源码)

久未在博客园发文章,今天有空,借着郁闷酒气,发个最近做的控件吧(未完结版本)。
先上图,来点真相:

这个应该是许多WebForm程序都需要的功能吧,最近写的小程序里边写了个,就抽出来了,弄了个自己的命名空间,具体的代码方面参考了一下郑健的《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》一书中的某个控件。他那个是.net 3.5的,用了ScriptManager,具体没有详细的了解。这个是.net 2.0的,使用的一些东西也不一样。

顺带说一下,《庖丁解牛》是一本十分推荐的好书,是居家旅游,杀人Mie口的常备好书。

具体遇到两个问题:
1. 向控件所在的WebForm注册JS脚本代码,要在override的OnPreRender处注册。WebForm页面要包

含<form id="form1" runat="server">标记。

2. 在弹出框里边,服务器控件回传后,dialogArguments在IE可以使用,在Firofox和Chrome浏览

器已经不存在了,只能走window.opener来回传值了。

第二点很重要,要浏览器兼容,必须考虑。虽然,直接用dialogArguments可以为返回的控件加js

事件来返回一个值,但是,如果是触发服务器控件的服务器事件,就不能使用dialogArguments了

,服务器回传后,就不能使用dialogArguments,只能用window.opener了,这个东西弄了我一个半

个下午。

尚未实现:回传值绑定到多个控件上。

已经测试浏览器:
IE 6.03XXXXX
Firefox 3.0.4
Chrome 3.0.195.38

其他浏览器尚未测试,代码项目附在文章后边,VS2008下.net2.0的项目。

代码下载【弹出选择窗体控件(附源码)