chao's profile清凉水都PhotosBlogListsMore Tools Help

Blog


    May 17

    ASP.NET Future初探

     

    ASP.NET Futures CTP中的动态数据控件(Dynamic Data Control)简直成了ASP.NET版本的Ruby on Rails——无需配置、无须代码、无需任何干预——只要一个控件,一个完整的数据驱动程序就搞定了。动态数据控件将自动搜寻项目中的数据库,自动选择与页面文件名相同的数据表,自动提供列表显示、详细内容显示、过滤、分页、排序、添加、删除、编辑、修改以及RSS等功能——没错,所有都是自动的——只要一个控件,甚至都不用任何设置!非常有意思的同时也极其有用!

    本文就将抛砖引玉地对动态数据控件进行简要的介绍。

     

    ASP.NET Futures 下载、安装以及创建新Web站点

    ASP.NET Futures 可以在此下载:http://www.asp.net/downloads/futures/。有50M大小

    ASP.NET Futures 的参考文档:http://quickstarts.asp.net/Futures/default.aspx

    ASP.NET Futures 的官方论坛:http://forums.asp.net/1127/ShowForum.aspx

    下载完成之后,安装这个msi,过程非常简单。如果RP不错的话,应该不会出现什么问题。

    然后打开VS 2005,新建一个Web 站点,选择ASP.NET Futures Web Site:

    即可使用默认的模板创建一个ASP.NET Futures Web站点。打开它的web.config文件,仔细分析学习一下吧,添加了不少东西。

    不过在VS的Toolbox中,你会找到更多的好玩意:

    看到了这么多花花绿绿的新控件图标,是不是心里有些痒痒呢?不过这篇文章当然不能介绍所有的内容,只是从动态数据控件部分开始。如果有时间,我会在后续文章中一一道来。

     

    使用NorthWind作为示例数据库

    NorthWind数据库风采不减当年,为了演示动态数据控件的强大功能,这里我们也使用了NorthWind数据库。

    顺便介绍一下在VS 2005中自带的SQL Express中使用NorthWind数据库的方法,方便没装数据库的朋友:

    首先下载并安装原始的NorthWind数据库:http://www.microsoft.com/downloads/details.aspx?familyid=06616212-0356-46a0-8da2-eebc53a68034&displaylang=en

    然后在命令行窗口中导航至"c:\Sql Server 2000 Sample Databases"

    输入如下命令即可(要将[Computer Name]替换为你的计算机名):

    osql -E -S [Computer Name]\SqlExpress -i instnwnd.sql 

    第一次可能会遇到超时失败(RPWT,呵呵),不过再试一次就会好了。

     

    实现示例程序页面

    我们来将NorthWind数据库中的Employees表中的数据显示出来。

    首先在web.config中添加这个SQL Express版本NorthWind数据库的连接字符串(想连接别的数据库的话,也可以根据需要修改,不过这已经不属于本文的讨论范围了),这样动态数据控件才能知道要显示哪个数据库中的数据:

    <connectionStrings>
        <add name="NorthwindConnectionString1" 
            connectionString="Data Source=DFLYING-LAPTOP;Initial Catalog=Northwind;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

    然后新建一个名为Employees.aspx的页面,一定要使用这个名称,这样动态数据控件才能知道要显示数据库中的哪张表(Employees表)!并在Employees.aspx中添加一个DynamicAutoData控件:

    <asp:DynamicAutoData ID="DynamicAutoData1" runat="server" />

    DynamicAutoData控件是众多动态数据控件中的一种,也是功能最为全面的一种(非常适合作示例程序吸引眼球,嘿嘿)。

    然后…………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    …………

    没了!真的没了!不信的话看看Employees.aspx的完整源代码:

    <%@ Page Language="C#" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Northwind Employees</title>
        <style type="text/css">
        * { font: 11px tahoma; }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DynamicAutoData ID="DynamicAutoData1" runat="server" />
        </div>
        </form>
    </body>
    </html>

     

    一行代码所带来的惊艳效果

    这个一行的DynamicAutoData控件能搞出什么名堂呢?F5运行一下,真是不看不知道啊……(抱歉各位,图有点大,实在是这个控件功能太多了……我不是故意的)

    仔细分一下都有什么功能:

    GridView列表

    RSS:

    过滤:

    编辑:

    (还有下拉列表框可用):

    排序:

    查看条目之间的关系(员工的老板以及员工的下属):

    员工的详细信息(帅哥一个):

    添加新员工:

    这样的功能,只是一句代码实现的……RoR的感觉油然而生阿!

     

    源代码下载

    本实例程序的源代码在这里下载:http://www.cnblogs.com/Files/dflying/DynamicAutoData.zip

    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利
    This posting is provided "AS IS" with no warranties, and confers no rights.

    我们的远程教育前景不乐观

        昨天听了远程教育的大家,英国开放大学的Tony Base的讲座《The impact of Web2.0 on elearning》感觉还是有不少收获的,同时也感到我们中国的远程教育不容乐观。
        由于自己对Web2.0还算是有一定的了解,听那些相关技术的技术还是比较容易的,毕竟自己都知道了。不过在讲到有关媒体种类应用的时候倒是很让我吃惊。如果我问你传统的课堂教育和现代远程教育,那个使用的媒体多呢?你可能会回答现代远程教育。而Tony的统计数据显示,现代教育才利用了15%,而传统教育利用了75%,吃惊吧。不过仔细想想,这也是对的,毕竟传统教育发展了这么长时间,其媒体的种类当然要高出许多。这也说明了一个问题,我们现在的elearning,虽然是利用了新的媒体,但是我们的种类是不是太少了,还有这种单一的媒体方式会产生那些问题,我觉得这是我们应当思考的,也是教育技术应当重视的。
        此外,Tony还讲到了Web2.0下学习的Danger:
              1.对权和真理的忽视,在这个强调个性,自主建构的学习环境下,学生会对权威专家的言论不屑一顾,虽然在高级知识学习有好处,但在基础学习中却是以个不小问题。
              2.如何培养科学的思想,就像第一个问题,Web2.0是以个建构的环境,那么我们的科学是Construct,不是Object的,这样学生是理解了知识,但真的科学吗?
              3.Web2.0是强调个性的、独立的,那么不能独立学习,需要别人帮助的学生我们应当怎么解决呢?用混合模式还是……
       
        这3点可以说一下点出了现在Web2.0下学习效果不好的问题,不过我国的发展问题,一般人意识不到的。其次他还提到了家庭教育重要性,对于Elearning的学习效果有很大的影响。
        在谈论讲座的最后,我不得不讲下Tony的一个现代学习的观点“more knowledge to learn,smarter rather than more”
        下面讲讲我对中国远程教育的担忧,在真个讲座中,从博士到研究生再到本科生,有将近90%的人都不知道什么是Web2.0,其中有很多人都开发了相当多的教育产品,这些产品的质量可想而知,更让人可怕的是,某个专家竟然也搞不清Web2.0和1.0的区别。整个答疑时间都在问什么是Web2.0,这让我太吃惊了!我们的教育产品都是行为、认知,而我们自己却大谈特谈建构主义,在有些研究生的会上,更是有人凭着对建构主意的一知半解在那里和别人争论,虽然我不是心理专业出身,不过也辅修了心理,这点基础还是有的,难免有些失望。在看看今年考上研的和准备考研的,也很少有人知道什么新的理念,大家还在看书,是看旧书,看皮亚杰的建构主意,殊不知建构主义已经发展了好多了。就这样看,再过个30年我们也改革不出什么,也许人间Web3.0了,我们有开始Web2.0,还把老外当圣人,其实还是自己不争气。
        好了,一激动就语无伦次,不写了,不过希望这次讲座能使其他人去关注一下Web2.0,这样Tony也算没有白来。
     
    May 16

    听邱邵良博士、看同学感悟有感

       本来想早发上去的,不过拜学校这个破网络,一直拖着。那天好不容易上去了,发下大家都已经写了不少东西了,于是就花了一些时间来看了看大家的感受,有所启发,就重新改了下原稿,希望能给大家点启示。
       首先就老套的说一下那个沃尔玛的故事,我在很早以前就听到这个故事了,不过那时候是当数据挖掘去听的。我承认这个故事绝对有震撼力,记得当时听到这个故事后,我就对数据的态度有了很大的变化,突然觉得那些真的是很重要。不过这次听邱邵良博士从另一个角度去讲同样给我带来了震撼,就像他说的那样,如果没有及时的学习机制的话,也就不可能有全球范围上的成功。这点使我想到了班中一位同学的留言,她提到中国人善于用理性的思维去思考事情,我也有同感,但我们真的是理性吗?我们只不过是关注那些关于理学的知识和信息而已,并不是理性的,如果是理性的,我想在我之前的n次听这个成功案例的时候,就应当听到这种观点了。不过遗憾的是,我到现在才听到。所以说我们并没有我们想像的那样理性,在分析一个事情的时候,我们往往会在满满的自信中遗漏掉一些关键的信息,换句话说,要一个人在当今这种复杂的问题的解决与分析中做到绝对的理性是不可能的,一位理性这种东西是别人评的,而分析是自己做的。
       刚才谈到了理性的问题,就不能不谈谈牛鱼问题,的确这是个经典的心理学问题,告诉我们的认知结构是不同的,不过我个人看来那条鱼还是十分幸运的,至少它见过四条腿的陆地动物和长着像牛角的动物。试想一下,在水中那个环境当中,有几条鱼见过陆地上的动物,能想成那个样子真是不容易了,不过也很好的证明了每个人的认知结构是不同的,那条牛鱼其实不是鱼的想法而是画家的想法。其实这个问题还反应了另一方面,就是即使有不同背景和经验的人聚在一起,也不一定能够有效的解决问题,原因就是人与人之间不能很好的交流,不能得到统一的认识。在我看来,这正式一个企业内部的学习机制要努力解决的问题,对于现在的企业来说,绝大多数都有了积累数据和知识的意识,就像我以前到外面一家公司打兼职的一样,公司的内部学习资料很齐全,可以说是累计了20多年的资料,对于新人来说真的是足够了,不过仅仅是资料的而已。我记得当时的自己就感到无法理解一些问题,还有就是在日后的工作中产生了一些理解错误的问题,虽然最终都能一一解决,但还是降低了效率。通过这个例子,也不难理解为什么现有的公司都要有实际工作经验的人,找一队熟练的人,交流顺畅,工作中错误少,成本就降低了,当然公司愿意。不过这也反应出我们的公司没有很好学习管理,如果学习管理好的话,根据现在的人力的成本,如果一个新人能够在短短的几个月内达到半个专家的能力,那么一定盈利更多。我看联想就是利用了这点,获得了领先的优势。
      说到联想的优势,就像上卖弄说的那样,联想在自己员工的培训上有了不小的进步,其实邱博士那个让专家写总结的东西我感觉就是一般,虽然减少了新人花费对系统知识学习上的时间,但功用也就是这样而已。不过他能够成功,我认为还是在第二步上,就是进行数据的整理,在资料整理的过程中,专家会自动的把自己的认知结构体现出来,这样以来在新人的学习中,就会受到这种认知结构的影响,必然会产生两个正面的影响,一是新人的学习时间和学习困难减少了,毕竟这种传统式的教学是效率最高的,这已经验证了n年了,我就不想证明了;二是他降低了团队间沟通的难度,增加了知识流动的效率,想想两个人头脑中的牛鱼一旦相同了,在谈牛鱼不就简单多了吗?所以我感觉这才是重点,不过邱博士这点讲的不多,我想毕竟他是学管理的,这只能算是微观上的事情吧,不过我倒是在下面问了一下关于创新的问题,毕竟一个团队的人统一了,创新就难了。不过他提到这工作方式只是一个底线,看来他还是认识到这种不足了,不过实际联想的员工会不会受这种影响,因没有实际的数据,我也就不好在这里瞎谈了。其二就是联想和外企的合作问题,这个我不想多说,其实这是战略联盟的一个策略,当然这中间也会出现一点差错,就像今天的Intel与AMD的关系那样,个人倒是没什么惊奇的地方,不过还是要说联想的高层有眼光,知道把握机会。至于国外这种战略的问题,可以参考一下西方现代的经济观点,对比一下我们的经济观点,我没落后了可不止30年,我们的工作还是很多的,但从国家的角度上就是严重的不会学习问题,任重而道远啊。
      好了,既然是博客就不要写太多了,要不查看起来就要被拖死了,其实这也是BLog的一个问题,为什么不能加的翻页功能呢?呵呵:-)