RSS 2.0 Feed
2004-09 Entries
摘要:这两天一直在疲与奔命与各个Session之间,主要听了Lippman的全部两门课.Lippman果然是属于大牛级的人物,由于名气太大,座位一直不好找.不过说实话,我其实不太喜欢一边讲课,一边翻译这样的组织形式.这样听课的时候没有连贯性而且真正的课程时间非常短. 本来应该有一个和Lippman近距离接触的BOF,不过Lippman临时因为要去长城游览就Cancel了这个Session。真的是好可惜。还好在C++/CLI课程结束的时候眼急手快抢了一本Lippman签名的《Essential C++》这本书。要不然的话启不是血本无归?中午曾毅单独主持了BOF Session ,英语真牛呀。 这次TechEd感觉上由于微软今年几乎没有推出什么新产品,因此虽然有SQL 2005和Notnet 2.0 的Beta助阵,感觉上可以值得听的课程不是特别多。因此就来到今年新增加的这个上网区域上会网,给大家汇报一下最新的情况。...[阅读全文]

posted @ | Feedback (14) |

摘要:去年的这个时候去北京参加了一次TechEd,感觉上虽然入门级的介绍性内容偏多,但是也不乏优秀的课程,而且可以了解到很多先进的技术以及拓宽自己的思路。听说今年的TechEd会增加很多技术含量很高的课程而且有非常著名的Stan Lippman 课程,那是不能不听的。同时非常感谢Grace为我提供了免费的门票,因此才得以成行。当然也要感谢老板给我这个出差的机会:) 在整个TechEd中,会参加的课程   9.17 DEV 410,DEV 322,OFC 200,DEV 342   9.18 DEV 411,DEV 412,DEV 382,DEV 365   9.19 DEV 361,DEV 324,DEV 290 期间不一定每天都能完成自己的任务,19号晚上要赶火车,17号要在微软社区和其他的MVP以及微软的黄MM站台,到时候我会穿一件黄色的MVP衬衣,希望大家光顾辨认豆腐的本来面目。...[阅读全文]

posted @ | Feedback (11) |

摘要:首先声明我是Asp.Net菜鸟(虽然我从Beta1就开始学习),最近忙里偷闲给老婆做一个知识管理系统。有所感悟,贴到随笔里面,欢迎大家指正。 DataGrid真的是一个好东西,不光是方便的解决的数据列表和分页的问题。对于Editable Grid的支持也不错,虽然比起当初我在Asp时代的全部用JavaScript生成的那个Editable Grid的功能差了一些,不过我那个东东的封装可是没有人家这个这么直接。好在DataGrid提供的功能已经能够足够满足大多数的应用。   HeadTemplate中最让人感觉受不了的就是没有onClick的Server-Side事件,据我所知国人非常喜欢用href的onClick来实现很多的功能,最终选择了来实现对选中的记录的删除,删除本身是很好实现的,问题是我们一般在删除的时候习惯于对用户提示是否删除,而我们知道Server-Side是不可能提供这样的功能的。因此我们必须想办法使用Client-Side的脚本代码。问题是这样的Client-Side的代码如何同我们的代码关联起来呢?通过查询MSDN,我们知道了四种方法可以实现ClientScript的功能,分别是1.GetPostBackEventReference2 RegisterArrayDeclaration3 RegisterClientScriptBlock4 RegisterStartupScript 其中,GetPostBackEventReference一般在user custom control中使用,我们在这里不做讨论Kaneboy's Blog尚有一个例子,我们着重讨论一下剩余的三个Register函数的用法。RegisterArrayDeclaration向客户端声明一个Client Array以便 Client Script使用RegisterClientScriptBlock和RegisterStartupScript 的区别在于,RegisterStartupScript 一般都只有一行代码,而且RegisterClientScriptBlock将ClientScript放在开始的地方,而RegisterStartupScript 将代码放在结束的位置。 OK,有了这些知识以后,我们开始下面的代码。首先我们需要为我们的ImageButton增加Attributes,可是我们如何去得到这个ImageButton呢?这个Button是Grid的内部控件,我们在ItemDataBound事件中通过下面的代码得到         Dim InnerControl As Control         InnerControl = e.Item.FindControl("delLink")         If Not InnerControl Is Nothing Then             Dim InnerButton As ImageButton             InnerButton = CType(InnerControl, ImageButton)             InnerButton.Attributes.Add("onclick", "return confirm(确认要删除吗?');")         End If 这段代码执行起来没有任何问题,但是这个时候我们自然会有这样的想法,如果这个ClientScript代码非常复杂的话,我们该如何来处理呢?说起来,这个问题其实也很常见,比如我们如果想将最后的一句话修改成为          InnerButton.Attributes.Add("onclick", "return confirmDel();") 我们自然会想到 这样的方法,不错这个方法很好,不过别着急。这样的努力是不会成功的,虽然我们把这样的运行的代码另存成HTML以后,我们会发现Js代码按照我们的预期执行了,但是在运行模式下,这样的不会成功的。解释如下:“ASP.Net can only emit code where there is either databinding <%# %>or runat=server. Thus, the "standard processing area" is the area. This is required for ASP.Net to function and therefore only allows dynamic content to be added between the tags. ” 不过既然这样,我们也不要去强求,我们可以利用下面的代码使得我们的工作顺利进行下去:         Dim scriptFile As......[阅读全文]

posted @ | Feedback (10) |