最新评论
Re:一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码) 蜡笔手小新 2012-04-05 17:13
顶
Re:书讯 —《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》第二版 邹军 2012-03-27 21:31
Hello,我买了一本您的控件开发的第二版,最近在慢慢欣赏(每天坐地铁都在看,呵呵。。。。),写得很好,看了才知道自己原来关于控件的基本原理噻都不知道,控件是怎么运行的,是怎么弄出来的原来都不知道等等。看了您的书后,现在写点简单的控件还是没有问题,呵呵, 谢谢你的书,特别感谢,,,,现在还在继续研究。
我想问您一个问题,如果您抽不时间可以晚一点回答,谢谢哟。
我们都知道服务器控件Button有一个OnClientClick客户端事件,在日常开发中我们也经常用到,比如删除一个产品,通常提醒用户是否真的删除以免误操作。
在JS无误的情况下,执行OnClientClick事件返回True就执行对应的服务端代码,但我不知道这是什么原理,我看了书的前几章,也反编译Button的源码也没有看出个究竟?在返回True它是通过什么方式去提交到服务端的?
谢谢哟
Re:(二)ComponentOne之WebChart(柱状图) swear 2011-08-21 10:19
你好,可以问你一个问题吗,我做完的柱状图为什么对不齐呢? 我的x坐标是时间,2011年5月这样的,可是柱状图总是没有和他对齐,总偏离基准的那条线一部分,请问怎么解决
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 孤海傲月 2011-05-24 13:25
郑老师,还有一点啊,如果是在页面提交的时候把隐藏域的值传回去,怎么实现在没有提交之前输入关键字之后出现的智能下拉列表框啊?
如果实现定义一个事件,这样让使用控件的开发人员自己定义搜索的逻辑,如何把把查询的结果返回到列表框里啊?本来是打算把这个事件的调用放在AJAXProSearchServicexs类中的那个ajax方法中的,这样的话可以搜索后的结果通过参数返回到这个方法中,最后在反馈到智能列表中,但是却发现在这个ajax方法中这个事件根本没走啊,断点调试的时候直接跳过去了,不知为什么。。。所以也就不知道怎么解决了。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 【夜战鹰】【ChengKing(ZhengJian)】 2011-05-24 11:32
To 孤海傲月:
Q:把那个AJAXProSearchServicexs类拿出来放在了.aspx页中了,这样就可以根据搜索的不同实现不同的结果。这样做标准不啊?
A:这样不标准,多个控件(包括相同类型控件)之间尽量不要共用代码,要独立。或者说,重用代码与控件分离了。
Q:我都试了一下,就是有一点不明白啊,利用隐藏域实现关键字的回传,这个是发生在什么时候啊?是不是还要让自定义类实现回传或者回调的接口啊?那个智能出现下拉框是在按键的事件中发生的,是不是这时候的隐藏域值的回传也要在这个事件中发生?
A:发生在页面提交的时候,hidden控件值其实是在ViewState中提交;不用实现,直接在服务端的LoadViewState中可以取到;这里是在这个事件中取值,不是回传。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 孤海傲月 2011-05-23 12:48
夜战鹰,在第五章中的最后,为文本框创建智能搜索的功能,已经按你的方法实现完毕在SearchControlIntelligent.cs这个文件里,利用AJAX技术新增了一个AJAXProSearchServicexs的类,在这个类里面实现了数据的搜索,并在JS文件中调用。这样就把搜索功能封装在自定义类里面了,达不到搜索的通用,我把那个AJAXProSearchServicexs类拿出来放在了.aspx页中了,这样就可以根据搜索的不同实现不同的结果。这样做标准不啊?
另外啊,按照你后面出的题目,自己实现搜索框下拉数据的搜索,按照你的提示,我都试了一下,就是有一点不明白啊,利用隐藏域实现关键字的回传,这个是发生在什么时候啊?是不是还要让自定义类实现回传或者回调的接口啊?那个智能出现下拉框是在按键的事件中发生的,是不是这时候的隐藏域值的回传也要在这个事件中发生?
希望夜战鹰指点。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 孤海傲月 2011-05-23 12:24
恩,好的,我再往后看看,谢谢了啊
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 【夜战鹰】【ChengKing(ZhengJian)】 2011-05-23 09:42
To 孤海傲月:
这么解决:为私有函数和私对象按一定规则命名,公共函数和公共对象则不需要;或采用对象封装的方式,实现作用域。在本书中有好多处讲到些方案。
建议:你先暂隔置这个问题,书全部读完再回过头来解决这个问题。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(6)页面状态机制(视图状态和控件状态)】★★★ 孤海傲月 2011-05-21 17:17
不好意思啊,夜战鹰,您发表的文章太多了,都不知道该在哪里问您问题,是这样的啊,在第七章中啊,是讲的自定义控件主题样式,讲到了平铺式菜单控件的功能,最后在浏览器中会生成一段脚本
<script text/javascript> var menu, obj, display=false; if( document.all&&window.print ) { var objClientId = 'btnWork'; if(objClientId != null) { obj = document.getElementById(objClientId); menu = document.getElementById('TileMenuControl2'); HideMenu(); document.onclick = HideMenu; obj.onclick = SetMenu; } else {alert('Please Set TargetControl Property!')} } </script>, 就是他控制着平铺菜单的显示和隐藏啊,但是我又在拜访那也选项卡中拖拽了一个菜单,并设置好了对应的目标控件,这样之后再被浏览器解析之后又会生成一段和前面一段差不多的代码,就是这段<script text/javascript> var menu, obj, display=false; if( document.all&&window.print ) { var objClientId = 'btnVisit'; if(objClientId != null) { obj = document.getElementById(objClientId); menu = document.getElementById('TileMenuControl1'); HideMenu(); document.onclick = HideMenu; obj.onclick = SetMenu; } else {alert('Please Set TargetControl Property!')} } </script>,这样的话由于menu,obj是全局的啊,这样是不是就有冲突了啊,我运行了一下试了试,感觉没有预想的效果啊,到底是怎么回事呢?我是个初学者,有可能是还没有领悟透代码吧,希望夜战鹰老师指点一下啊
Re:Asp.Net中Cache操作类(新增/读取/移除缓存中存储的数据) itworktor 2011-02-04 10:01
这代码写的我简直无语了。
Re:书讯 —《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》第二次印刷已经出版发行 【夜战鹰】【ChengKing(ZhengJian)】 2010-09-20 20:45
倒是有一些设计时属性,但可能很难实现你的要求。
Ø Browsable
指定属性是否应该在属性窗口中显示,使用布尔值设置。一般情况下,对于常用的和比较重要的属性设置Browsable为true,否则,设置Browsable为false。
Ø EditorBrowsable
设置属性在编辑器中的可见性,比如设置在智能提示列表不显示或高级用户才可以看到该属性。
Ø DesignOnly
如果此属性设置为true,表示该属性只能在设计期间使用,不能在页面代码中设置其值。
Ø ReadOnly
设置该属性是否为只读状态。如果此特性设置为true,则在属性窗口能看到属性,但不能设置其值。另外,通过在属性语句体中把 set 语句段去掉也可以起到相同的效果。
Detail:
http://blog.csdn.net/ChengKing/archive/2009/01/01/3678774.aspx
Re:书讯 —《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》第二次印刷已经出版发行 不钓鱼的猫 2010-09-19 08:03
你好,请问如何让控件的属性不在HTML代码中显示。只能做为后台设置使用。
如CONNECTIONSTRING 谢谢!请指教!
http://topic.csdn.net/u/20100826/16/763bae0e-f011-40b4-8230-11ae873f6462.html?seed=2139525208&r=68500059#r_68500059
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★ 【夜战鹰】【ChengKing(ZhengJian)】 2010-09-17 14:00
这是系统自己封装实现的。
1. 你在生成的页面源代码最下方会看到有句系统函数的调用:
<script type="text/javascript">
//<![CDATA[
WebForm_InitCallback();//]]>
</script>
2. ICallBackEventHandler
GetCallbackResult是ICallBackEventHandler接口的成员。
所有的系统函数库应该都在:
<script src="/WebSite/WebResource.axd?d=ss9Z8I8AAKFxAanTfPdC6A2&t=634171124186562500" type="text/javascript"></script>
这个资源中。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★ 冬日暖阳 2010-09-16 10:32
To 郑老师:
关于客户端回调(第8章8.3节客户端回调),您在书中是如下描述的:首先通过GetCallbackEventReference方法取得客户端回
调脚本,当执行脚本时,会调用ICallBackEventHandler接口的RaiseCallbackEvent方法,在此方法中处
理回调事件。接下来会调用GetCallbackResult,此方法主要返回服务端调用结果到客户端方法。
我的问题是:在您给出的例子中,我可以看到客户端执行脚本这一阶段,而对于GetCallbackResul将
调用结果近回到客户端却是不理解。因为,在整个控件上的操作实际上都是在调用
Default_ClientCallBackResult,并未看见服务端处理结果返回给客户端的过程。是不是我哪地方理解错
了?谢您指点!!(另:您的Blog太多了,我也不知上哪联系您,只好逮着一个就提个问题,呵呵,造成
麻烦之处请原谅!!)
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(5)事件和数据回发机制】★★★ 淡淡地。。。 2010-04-25 18:22
郑健老师,我有个问题,您的书中,在第150页中,您是这样写的:GetPostBackEventReference方法体结构如下:
GetPostBackEventReference(String, String, String, String, String, Boolean)
此方法功能是获取一个对客户端函数的引用;调用该方法时,将启动一个对服务器事件的客户端回调。
我查了下MSDN:
GetPostBackEventReference(PostBackOptions) 返回一个可以在客户端事件中使用的字符串,以便回发到服务器。该引用字符串由指定的PostBackOptions 实例定义。
GetPostBackEventReference(Control, String) 返回一个可以在客户端事件中使用的字符串,以便回发到服务器。该引用字符串由处理回发的指定控件和一个附加事件信息的字符串参数定义。
GetPostBackEventReference(PostBackOptions, Boolean) 返回一个可以在客户端事件中使用的字符串,以便回发到服务器。该引用字符串由指定的 PostBackOptions 对象定义。或者,可选择为验证注册事件引用。
GetPostBackEventReference(Control, String, Boolean) 返回一个在客户端事件中使用的字符串,以便回发到服务器。该引用字符串由处理回发的指定控件和一个附加事件信息的字符串参数定义。或者,可选择为验证注册事件引用。
没有你说的 GetPostBackEventReference方法重载中的一个。MSDN对这个方法的解释是:返回一个可以在客户端事件中使用的字符串,以便回发到服务器。
您对GetCallbackEventReference 方法的解释是:获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器事件的客户端回调。
这和MSDN文档的解释一致,但您对GetCallbackEventReference和GetPostBackEventReference的解释都一样了,您博客中说的是:GetPostBackEvent Reference方法体结构如下:
GetCallbackEventReference(String, String, String, String, String, Boolean) ,明显不一致了。
请您对这个问题更改下(书、博客),并做以解释,谢谢!希望我没理解错!也请您对这两个函数重新给以解释!
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(4)服务器控件属性】★★★ GeoTri 2010-03-12 12:47
版主请帮忙:我按你书上说的(5.4.1 系统属性编辑器),只有一个颜色属性能出现按钮,其他的如文件选择、连接字符串、目录等都不会出现按钮,不知道是什么原因(VS2008,VS2010上都试过了)。我在网上找了很长时间也没有结果。请版主一定帮忙啊
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★ acheng 2009-10-23 14:44
今天书刚收到,可惜双面胶粘上代码光盘,不是微软vs2008光盘,哪里有代码的压缩包下载???
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★ fhfhfhrt 2009-10-06 20:51
书不错,不过有几个拼写错误
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(3)从零开始开发服务器控件】★★★ 【ChengKing(ZhengJian)】 2009-09-09 21:18
To 鱼蛋:
当然可以啊。
Re:★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术--基于VS 2008(兼容VS 2005)/C#】★★★ onelovelypig 2009-08-10 21:08
对于我这样的初学者,很有帮助