随笔-312  评论-11907  文章-2  trackbacks-224

请朋友们在此留下您的宝贵批评意见,对于有建设性的意见,我会赠送即将出版的《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library相关》。

在阅读过程中遇到的问题也可以在此提出,我会尽快解答。

本书的勘误如下,也希望朋友们帮我不断补充。在此对书中的错误给朋友们阅读带来的不便深表歉意:

前言p.2 内容介绍第I卷部分第一段第4行:“拖拖放拽”应为“拖拖拽拽”

p.2 图1-1:图中某些文字印刷顺序为从右向左

p.3 图1-2:图中某些文字印刷顺序为从右向左

p.10 图1-2:图中某些文字印刷顺序为从右向左

p.4 第二段:“配件(garget)”应为“配件(gadget)”

p.43 第三段:“Name为Preview Script.js”中间多了一个空格,应该为“Name为PreviewScript.js”

p.45 第二段代码: “cb_getServerHello String”中间多了一个空格,应为“cb_getServerHelloString”

p.49 第五段第三行开始:“各个组建”应该改成“各个组件”

p.61 第一行代码:“else if(e.Script.ScriptMode == ScriptMode.Debug)”应该改成“else if(e.Script.ScriptMode == ScriptMode.Release)

p.220 第一行:“enableEventValidation = "true"”应该改成“enableEventValidation = "false"”

p.261 第一个“常见问题”的最后一行:“初始样式style: none;”应该为“初始样式display: none;”

p.280~p.282页  各个“MutuallyExlcusiveCheckBox ”应为“MutuallyExclusiveCheckBox ”

封底作者介绍最后一句:“与译者联系”应该为“与作者联系”

posted on 2007-04-25 00:32 Dflying Chen 阅读(3887) 评论(66)  编辑 收藏 所属分类: ASP.NET AJAX (Atlas)我的著作&写作生活

评论:
#1楼  2007-04-25 09:57 | 吴祝明      
陈老师 对读者很负责任啊!
目前我这个地方的书店还没有能看到该书摆上书架,期待早日能看到陈老师的《ASP.NET AJAX程序设计》三步曲……

  回复  引用  查看    
#2楼  2007-04-25 17:03 | Amnoh      
上周5定的书,当当今天早上才给我送来,郁闷坏了:(

P.4 中间段落的第二行右边,“叫做配件(garget)” 此处应为 gadget
  回复  引用  查看    
#3楼  2007-04-25 17:15 | Amnoh      
另外,能不能在这儿提供个源代码下载?
图灵的网站上,尽然需要我先注册才能下,这和改善用户体验完全走了两条路,真是让人郁闷
  回复  引用  查看    
#4楼 [楼主] 2007-04-25 22:51 | Dflying Chen      
@吴祝明
感谢支持!很快就能上架
  回复  引用  查看    
#5楼 [楼主] 2007-04-25 22:52 | Dflying Chen      
@Amnoh
感谢!!!!
  回复  引用  查看    
#6楼 [楼主] 2007-04-25 22:53 | Dflying Chen      
@Amnoh
源代码大概有50M左右,在这里也没有能力提供下载……不想给博客园带来太大的负担。十分抱歉!
  回复  引用  查看    
#7楼  2007-04-26 10:15 | 吴祝明      
希望陈老师有空也做几个视频教程出来,图、文、声 三者结合,相信读者会更加快地提高的……
  回复  引用  查看    
#8楼  2007-04-26 16:26 | DaiWei [未注册用户]
陈兄,你的赠书我为什么还没有收到?能否帮忙查一下。
戴玮。
  回复  引用    
#9楼  2007-04-26 21:37 | e-bread [未注册用户]
今天看到第2章结束,发现许多函数在书面上单词间有个空格,要纠正下,不少呢,不知道是不是印刷错误。

还有就是第一个HelloWorld我是没调试通过,总是报告脚本错误,lbMessage不能为空的错误,html那里写的是div,获取的是System.Preview.UI.Lable不知道是不是这个错误。

最后就是要说,有的地方简单了点,比如在那个地方插入什么标签,虽然不需要全部书写,最好也能写下上个层次的标签,也方便我这种新人定位,要不都不知道写到哪个地方。

好了,这本书继续攻略中,上周就到了,昨天才开始看(以前忘在邮箱里了),虽然有些错误,到不是十分影响阅读,期待客户端的第二卷。
  回复  引用    
#10楼  2007-04-26 22:35 | Dflying Chen      
@吴祝明
这一段比较忙,本来计划要在MSDN上面做一些视频的,过了这一个月应该会提供一些,谢谢建议!
  回复  引用  查看    
#11楼 [楼主] 2007-04-26 22:35 | Dflying Chen      
@吴祝明
这一段比较忙,本来计划要在MSDN上面做一些视频的,过了这一个月应该会提供一些,谢谢建议!
  回复  引用  查看    
#12楼 [楼主] 2007-04-26 22:36 | Dflying Chen      
@DaiWei
恩,我帮你问一下
  回复  引用  查看    
#13楼 [楼主] 2007-04-26 22:37 | Dflying Chen      
@e-bread
首先感谢你这么耐心地指出错误!

我也发现了很多地方(主要是代码)中有多余的空格,这应该是排版的问题。我们会尽力在重印的时候纠正,很抱歉给您带来不便!

第一个HelloWorld应该没什么问题,你可以打开IE的调试功能,看看到底什么地方出现了错误?
  回复  引用  查看    
#14楼 [楼主] 2007-04-26 22:41 | Dflying Chen      
@e-bread
接着说

您提到代码有些简单,确实我也没考虑到这一点。因为从前看过了太多的书从<html>写到</html>,觉得这是对读者金钱的浪费。出于对篇幅的控制并对读者负责,才尽量省略了代码的篇幅,只给出了必要的说明。

不过您说得非常有道理,特别是应该在开头的几个示例程序中,若是能给出完整的源代码或许会更好一些。这是我没有考虑到的,在接下来的写作中,我会多多注意!谢谢!
  回复  引用  查看    
#15楼  2007-04-28 14:50 | Axu [未注册用户]
我想问下Dflying Chen前辈,Asp.Net 1.1里有什么好的第三方控件可以像Asp.Net 2.0里的TreeView控件那样?
  回复  引用    
#16楼 [楼主] 2007-04-29 21:55 | Dflying Chen      
@Axu
不好意思我也不太清楚,到网上搜索一下纯粹用JavaScript写得吧
  回复  引用  查看    
#17楼  2007-04-29 23:51 | Miller [未注册用户]
P.45 第9行 cb_getServerHello String 应为cb_getServerHelloString,我第一次没有下载源代码,按照书上的输入,一直不能运行,直到下载了源代码才发现。
  回复  引用    
#18楼  2007-04-29 23:54 | Miller [未注册用户]
BTW: 看了书觉得挺着急,好多内容都说,将在第II卷详细说明,第II卷在哪里啊?
  回复  引用    
#19楼 [楼主] 2007-04-30 00:36 | Dflying Chen      
@Miller
谢谢指出毛病!第二卷很快就会出版!
  回复  引用  查看    
#20楼  2007-04-30 17:01 | 吴祝明      
为何我安装了 AjaxControlToolkit 后,Bin 文件夹里面有很多文件夹,每个文件夹中均有相同的文件: AjaxControlToolkit.resources.dll  。有必要保留这么多文件夹和相同的文件AjaxControlToolkit.resources.dll 吗??


  回复  引用  查看    
#21楼  2007-05-01 00:28 | ayu2007 [未注册用户]
我helloworld也调不出来。。郁闷。。
点击按钮没有反应。。
  回复  引用    
#22楼  2007-05-01 15:21 | 扑街仔      
调出来了..郁闷..原来我调用回调函数那里加了括号.真是气死人了..
还有,书中p61第一行应该是个错误吧..
原文:
else if(e.Script.ScriptMode == ScriptMode.Debug)
应该改成:
else if(e.Script.ScriptMode == ScriptMode.Release)

虽然不妨碍阅读..

这本书真的很不错哦...其他卷我一定要买了
支持哦

  回复  引用  查看    
#23楼 [楼主] 2007-05-02 23:44 | Dflying Chen      
@吴祝明
这些多语言的dll,只要根据需要保留需要的语言版本即可
  回复  引用  查看    
#24楼 [楼主] 2007-05-02 23:44 | Dflying Chen      
@扑街仔
谢谢指正!
  回复  引用  查看    
#25楼  2007-05-03 09:47 | 吴祝明      
五一的时候到南海购书中心将这个书买了回来,看了之后感觉挺不错,谢谢陈老师的贡献。有些问题请教:
1、书中第25页讲到建议读者下载安装 Sample Applications ,但我安装后,在哪里可以看到这个示例程序?
2、一个updatepanel控件中的 GridView 控件的数据更新受其updatepanel控件外的两个Button控件Click事件引发(或者两个TreeView控件引发),应该如何设置?
3、confirmButton 控件的Text 属性能否用变量来动态设置?
4、RoundedCorners 增加的圆角不是很平滑,而且被圆角后面板的四边线能有圆滑的边线就好了……
  回复  引用  查看    
#26楼  2007-05-03 19:54 | 老刘.      
hello Dflying,刚刚拿到你的大作,本来是来勘误的,不过看来各位朋友看书都挺仔细的,已经指明了。
ok,声援Dflying,期待你的第二卷,有你的认真执着的态度,有园子里的朋友大力支持,相信第二卷一定更精彩!!!
Dflying加油~~~祝51快乐:)
  回复  引用  查看    
#27楼  2007-05-04 16:46 | 仆街仔 [未注册用户]
支持Dflying,我看书的时候遇到了几个问题.于是给Dflying发了邮件,Dflying很快便回复了.很是感动.呵呵

这次又是来勘误的喇.
p195页最后一行:
原文:
.textbox, .watermarked{....}

但是后面那页接着又给出了
.watermarked{....}

这里应该是有点问题吧..尽管没有什么影响.
  回复  引用    
#28楼  2007-05-05 12:37 | leoxu      
刚拿到赠书,
看到第9章中DragPanelDemo.aspx
测试了一下,无法保存其位置,
可能是你的WEB.CONFIG没配好吧?
改成下面的形式也不行,帮忙看一下。
<profile defaultProvider="sqlprovider" enabled="true">
<providers>
<add name="sqlprovider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" providerName="System.Data.SqlClient" connectionString="Data Source=valleytom;Initial Catalog=ASPNETDB;Integrated Security=True" />
</providers>
<properties>
<add name="floatPanelLocation" allowAnonymous="true" defaultValue="30, 40"/>
</properties>
</profile>
  回复  引用  查看    
#29楼  2007-05-05 20:57 | m [未注册用户]
加油!...
  回复  引用    
#30楼  2007-05-06 19:59 | DaiWei [未注册用户]
陈兄,为什么我的赠书还是没有收到?是不是被遗忘了。
请帮我确认一下。我是戴玮。
如果遗忘,就算了。我买本就是了。
谢谢!
  回复  引用    
#31楼  2007-05-07 15:25 | Aweto      
我的赠书也没有收到。不知道是怎么回事?
本来想利用这个假期来好好钻研的。
结果浪费了。
我叫崔英志

我现在都不知道是该买一本,还是等待了。
  回复  引用  查看    
#32楼 [楼主] 2007-05-07 17:38 | Dflying Chen      
@leoxu
为什么呢?在我这里正常啊,用Fiddler看看HTTP到底怎么样?
  回复  引用  查看    
#33楼 [楼主] 2007-05-07 17:38 | Dflying Chen      
@m
谢谢
  回复  引用  查看    
#34楼 [楼主] 2007-05-07 17:38 | Dflying Chen      
@DaiWei
@Aweto
明天帮你们问一下,不好意思
  回复  引用  查看    
#35楼 [楼主] 2007-05-07 18:18 | Dflying Chen      
@吴祝明
1
http://go.microsoft.com/fwlink/?LinkID=77295

2
设置UpdatePanel的Trigger为两个Button即可

3
可以,就和设置普通服务器端控件属性一样

4
限于CSS的效果,也只能做到这一点了……
  回复  引用  查看    
#36楼 [楼主] 2007-05-07 18:18 | Dflying Chen      
@老刘.
谢谢大哥支持,我会再努力的!
  回复  引用  查看    
#37楼 [楼主] 2007-05-07 18:20 | Dflying Chen      
@仆街仔
这段代码的意思是让.textbox和.watermarked共同分享一些属性,然后再设定.watermarked的一些特有属性。并没有错误:)
谢谢支持!
  回复  引用  查看    
#38楼  2007-05-07 20:06 | 阿慧南      
首先感谢前辈。你的两本书都有阅读,帮助盛大。
1:各位还发现 回复的标题内全部有“&mdash;&mdash;”博客程序好像有点没有处理好
2:关于 asp.net ajax 的UpdatePanel 和触发 Button 不在同一个asp:Content 时不呢发生异步触发更新,还有好的解决方法?
导致有些时候用了第三方的 Anthem.dll 来做,但是Anthem.dll 有些功能又不能实现,反正是两个一起上了。
3:期待下两卷啊。

  回复  引用  查看    
#39楼  2007-05-07 20:06 | 扑街仔 [未注册用户]
@Dflying Chen
的确是吖..当时没有看清楚.不好意思
  回复  引用    
#40楼 [楼主] 2007-05-07 20:32 | Dflying Chen      
@阿慧南
恩,也可以说是Windows Live Writer考虑得太“全面”了,它把所有的特殊字符都编码了……
  回复  引用  查看    
#41楼 [楼主] 2007-05-07 20:33 | Dflying Chen      
@阿慧南
也可以阿,但是不要设定Update的Trigger,而是将UpdatePanel的UpdateMode设置为Conditional,然后在后台代码中判断应该更新哪个UpdatePanel,并调用其Update()方法。

谢谢支持,我会好好写的
  回复  引用  查看    
#42楼 [楼主] 2007-05-07 20:33 | Dflying Chen      
@扑街仔
:)没问题
欢迎继续讨论!
  回复  引用  查看    
#43楼  2007-05-08 14:16 | everx      
非常感谢您写的这本书,对我有很大帮助。
以下我有点小问题
书的p220页最上面的那行代码
"<pages enableEventValidation="true">"是不是应该为:
"<pages enableEventValidation="false">"啊

  回复  引用  查看    
#44楼  2007-05-09 09:50 | ROCK [未注册用户]
请老大看看这个书是不是新的这本
http://www.2688.com/Shop/dProduct.aspx?Pid=814184&Mt=book&Pt=BOOK&Tl=0
  回复  引用    
#45楼  2007-05-10 10:46 | 吴祝明      
如何解决在 主控页(母版页)的内容页上*.aspx中无法识别 AJAX 控件(例如UpdatePanel等),导致无法直接通过按空格键来调出相应的属性进行设置?
 

  回复  引用  查看    
#46楼 [楼主] 2007-05-10 18:56 | Dflying Chen      
@everx
谢谢指正!
  回复  引用  查看    
#47楼 [楼主] 2007-05-10 18:56 | Dflying Chen      
@ROCK
就是这本
  回复  引用  查看    
#48楼 [楼主] 2007-05-10 18:56 | Dflying Chen      
@吴祝明
SP1打过了么?
  回复  引用  查看    
#49楼  2007-05-11 09:01 | ROCK [未注册用户]
@Dflying Chen
不好意思,问您的时候,2688上还没有封面和简介
  回复  引用    
#50楼  2007-05-11 10:36 | 吴祝明      
我还没有打SP1……
还有一个问题:在一个主控页(母版页)里面有分别有两个Content1和Content2;在内容页上的Content1中放置两个TreeView控件;在内容页上的Content2中放置了一个GridView控件,并且用UpdatePanel将GridView包围起来,想通过设置 AsyncPostBackTrigger 来指定只有Content1中放置两个TreeView控件的SelectedIndexChanged事件才引发数据异步刷新。但以下的代码出现问题,运行时出现错误提示(见下图)。
如果将上述内容页的代码移到一个非内容页的*.aspx前台上,就不出现这个问题。
我分析是不是因为在 内容页 中,UpdatePanel 只认得同一个Content中的控件,而不认得同一个内容页中另外一个Content中的控件导致的。如何解决这个问题啊?谢谢!
<asp:UpdatePanel id="UpdatePanel1" runat="server">
            <contenttemplate>
                <asp:GridView id="GridView1" runat="server" Width="1024px" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" GridLines="None" OnRowDataBound="GridView1_RowDataBound" AutoGenerateSelectButton="True" EmptyDataText="数据不存在……" OnRowCreated="GridView1_RowCreated" CellSpacing="2" CellPadding="3" BorderWidth="1px" BorderStyle="None" BorderColor="#DEBA84" BackColor="#DEBA84">
                <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510"></FooterStyle>
                    <Columns>
                    <asp:BoundField DataFormatString="{0}" DataField="gcmc" HeaderText="工程名称">
                    <ItemStyle Width="50px"></ItemStyle>
                    </asp:BoundField>
                    <asp:BoundField DataFormatString="{0}" DataField="sgdw" HeaderText="施工单位">
                    <ItemStyle Width="50px"></ItemStyle>
                    </asp:BoundField>
                 </Columns>
                <RowStyle BackColor="Control" ForeColor="#8C4510" Wrap="False"></RowStyle>
                <SelectedRowStyle BackColor="#738A9C" ForeColor="SaddleBrown" Font-Bold="True"></SelectedRowStyle>
                <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center"></PagerStyle>
                <HeaderStyle BackColor="#A55129" ForeColor="White" Font-Bold="True"></HeaderStyle>
                <AlternatingRowStyle BackColor="OldLace" BorderStyle="None"></AlternatingRowStyle>
                </asp:GridView>
            </contenttemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged"></asp:AsyncPostBackTrigger>
                <asp:AsyncPostBackTrigger ControlID="DropDownList2" EventName="SelectedIndexChanged"></asp:AsyncPostBackTrigger>
                <asp:AsyncPostBackTrigger ControlID="TreeView1" EventName="SelectedNodeChanged"></asp:AsyncPostBackTrigger>
                <asp:AsyncPostBackTrigger ControlID="TreeView2" EventName="SelectedNodeChanged"></asp:AsyncPostBackTrigger>
            </Triggers>
        </asp:UpdatePanel>

  回复  引用  查看    
#51楼  2007-05-12 09:31 | laoweng [未注册用户]
不知visual studio orcas 对atlas 客户端 编程的支持怎样,visual studio orcas正式版什么时候推出,在众多的ajax框架中之所以选择微软的atlas,就是因为它的visual studio orcas将可以提供更多的客户端可视化编程,极大地提高客户端编程的效率,其它框架如dojo虽然看起来不错,但要手工每个字符地输入是让人很痛苦的事情,在你的第二卷书中有没有这方面的介绍,很期待看到第二卷.
  回复  引用    
#52楼 [楼主] 2007-05-12 12:39 | Dflying Chen      
@ROCK
:)
  回复  引用  查看    
#53楼 [楼主] 2007-05-12 12:40 | Dflying Chen      
@吴祝明
UpdatePanel 只认得同一个Content中的控件,而不认得同一个内容页中另外一个Content中的控件导致的

---------你的分析完全正确,不如手工控制UpdatePanel更新好了,不要设置Trigger了
  回复  引用  查看    
#54楼 [楼主] 2007-05-12 12:41 | Dflying Chen      
@laoweng
第二卷中不会介绍Orcas,呵呵。不过Orcas应该会在今年出来,到时候JavaScript开发者就爽了
  回复  引用  查看    
#55楼  2007-05-14 10:58 | 吴祝明      
在Panel中放置了一个GridView控件,并设置了Panel的水平和竖直的滚动条,以达到通过滚动滚动条来查看GridView控件中的数据,并且用UpDataPanel将Panel包围起来,GridView的刷新由UpDataPanel外的两个TreeView控件的SelectedNodeChanged事件和GridView自身的SelectedIndexChanged事件引发局部数据更新。如何解决当GridView数据行很多,在选定某行后引发SelectedIndexChanged事件局部刷新Panel后,页面的GridView中选定的数据仍然保持在选定数据行前的位置(现在遇到的问题是刷新后GridView的数据行自动回到最顶端)?谢谢!
  回复  引用  查看    
#56楼  2007-05-14 21:01 | Jeffrey Zhao      
@Dflying Chen
标题编码应该是博克园的问题,不用WLW也是这样的,呵呵。
  回复  引用  查看    
#57楼 [楼主] 2007-05-15 09:12 | Dflying Chen      
@吴祝明
对滚动条维护一下吧,使用客户端PageRequestManager事件
  回复  引用  查看    
#58楼 [楼主] 2007-05-15 09:13 | Dflying Chen      
@Jeffrey Zhao
总之是二者没有配合好,呵呵
  回复  引用  查看    
#59楼  2007-05-17 01:17 | ROCK [未注册用户]
老大。第二卷什么时候出来啊?第一卷中这样的字眼太多了:"将在第II卷中详细说明"
  回复  引用    
#60楼 [楼主] 2007-05-17 13:24 | Dflying Chen      
@ROCK
应该会很快,具体时间我会尽快在Blog上公布,谢谢!
  回复  引用  查看    
#61楼  2007-05-18 11:03 | 吴祝明      
在应用 DropDownExtender 控件过程中,如何解决在打开网页时 panelMenu 内的控件在瞬间显示出来?太不友好了……
<div style="z-index: 105; left: 771px; width: 100px; position: absolute; top: 6px;
            height: 100px">
            <asp:Label ID="Label5" runat="server" Text="功能菜单" Width="74px" CssClass="contextMenuTrigger" BackColor="#FF8000" Font-Bold="True"></asp:Label><br />
            <asp:Panel ID="panelMenu" runat="server" Height="50px" Width="125px">
             <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                 <ContentTemplate>
                     <asp:Button ID="Button1" runat="server" Text="新增待结算项目" OnClick="Button1_Click" Width="129px" />&nbsp;
                     <asp:Button ID="Button5" runat="server" OnClick="Button5_Click" Text="修改工程概况" Width="127px" />
                     <asp:Button ID="Button6" runat="server" OnClick="Button6_Click" Text="删除工程项目" Width="129px" />
                     <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="资料收集情况" Width="129px" />
                     <asp:Button ID="Button3" runat="server" Text="计划起止日期" Width="130px" OnClick="Button3_Click" />
                     <asp:Button ID="Button7" runat="server" OnClick="Button7_Click" Text="紫晖结算计划" Width="128px" />
                     <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="填写当月完成情况" Width="130px" />
                     <asp:Button ID="Button9" runat="server" OnClick="Button9_Click" Text="修改当月完成情况" Width="130px" />
                     <asp:Button ID="Button10" runat="server" Text="删除当月完成情况" Width="128px" OnClick="Button10_Click" />
                     <asp:Button ID="Button11" runat="server" OnClick="Button11_Click" Text="既往报表下载" Width="128px" />
                     <asp:Button ID="Button12" runat="server" OnClick="Button12_Click" Text="报表文件操作" Width="128px" />
                 </ContentTemplate>
             </asp:UpdatePanel>
          <asp:Button ID="Button8" runat="server" OnClick="Button8_Click" Text="导出Excel" Width="129px" /></asp:Panel>
        </div>
        <cc1:DropDownExtender ID="DropDownExtender1" runat="server" TargetControlID="Label5" DropDownControlID="panelMenu">
        </cc1:DropDownExtender>

  回复  引用  查看    
#62楼  2007-05-18 15:03 | 吴祝明      
还有一个问题,上述的代码,当鼠标指向 Label5 时,出现的有向下

箭头边框并不是包住 Label5 的,而是离开 Label5 ,难看死了,如何解决啊?

 

<style type="text/css">
         .hidden
         {display:none;}
         .contextMenuTrigger
        {
            display: block;
            width: 30px;
            padding:4px;
            padding-right: 30px;
        }
        .contextMenuPanel
        {
         border: 1px solid #868686;
         z-index: 1000;
         background: url('Images/menu-bg.gif') repeat-y 0 0 #FAFAFA;
         cursor: default;
         padding: 1px 1px 0px 1px;
         font-size: 11px;
        }
        a.contextMenuItem
        {
         margin: 1px 0 1px 0;
         display: block;
         color: #003399;
         text-decoration: none;
         cursor: pointer; 
         padding: 4px 19px 4px 33px;
        }
        a.contextMenuItem:hover
        {
         background-color: #FFE6A0;
         color: #003399;
         border: 1px solid #D2B47A;
         padding: 3px 18px 3px 32px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <div style="z-index: 105; left: 792px; width: 100px; position: absolute; top: 4px;
            height: 100px">
            <asp:Label ID="Label5" runat="server" Text="功能菜单" Width="74px" CssClass="contextMenuTrigger" BackColor="#FF8000" Font-Bold="True"></asp:Label><br />
            <asp:Panel ID="panelMenu" runat="server" Height="50px" Width="125px">
             <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                 <ContentTemplate>
                     <asp:Button ID="Button1" runat="server" Text="新增待结算项目" OnClick="Button1_Click" Width="129px" />&nbsp;
                     <asp:Button ID="Button5" runat="server" OnClick="Button5_Click" Text="修改工程概况" Width="127px" />
                     <asp:Button ID="Button6" runat="server" OnClick="Button6_Click" Text="删除工程项目" Width="129px" />
                     <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="资料收集情况" Width="129px" />
                     <asp:Button ID="Button3" runat="server" Text="计划起止日期" Width="130px" OnClick="Button3_Click" />
                     <asp:Button ID="Button7" runat="server" OnClick="Button7_Click" Text="紫晖结算计划" Width="128px" />
                     <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="填写当月完成情况" Width="130px" />
                     <asp:Button ID="Button9" runat="server" OnClick="Button9_Click" Text="修改当月完成情况" Width="130px" />
                     <asp:Button ID="Button10" runat="server" Text="删除当月完成情况" Width="128px" OnClick="Button10_Click" />
                     <asp:Button ID="Button11" runat="server" OnClick="Button11_Click" Text="既往报表下载" Width="128px" />
                     <asp:Button ID="Button12" runat="server" OnClick="Button12_Click" Text="报表文件操作" Width="128px" />
                 </ContentTemplate>
             </asp:UpdatePanel>
         <asp:Button ID="Button8" runat="server" OnClick="Button8_Click" Text="导出Excel" Width="129px" /></asp:Panel>
        </div>
        <cc1:DropDownExtender ID="DropDownExtender1" runat="server" TargetControlID="Label5" DropDownControlID="panelMenu">
        </cc1:DropDownExtender>












 

















  回复  引用  查看    
#63楼 [楼主] 2007-05-19 22:36 | Dflying Chen      
@吴祝明
将panelMenu的CSS设置为display: none即可:)
  回复  引用  查看    
#64楼 [楼主] 2007-05-19 22:37 | Dflying Chen      
@吴祝明
你用了absolute定位吧,应该就是这个问题
  回复  引用  查看    
#65楼 [楼主] 2007-05-23 09:08 | Dflying Chen      
测试回复
  回复  引用  查看    
#66楼  2008-07-10 23:11 | heywap [未注册用户]
书中99页,倒数第二行,width:103%;

从100页的截图,以及我的经验来看,这里会不会是103px


  回复  引用    
#67楼  2008-07-12 21:24 | heywap [未注册用户]
书中第124页,插图上方第8行,每隔1秒钟,应该是每隔3秒钟.
呵呵...

  回复  引用