• 我是负责任的:《ASP.NET 2.0开发指南》勘误(持续更新)


    前几天,当我拿到出版社寄送的样书时,非常高兴。看着自己一年来的工作成果摆在面前,心中喜悦油然而生。然而,我在提示自己:书虽然出版了,但是工作还没有结束。书籍中一定还存在这样或者那样的问题,这是不可避免的。我必须进行查找。虽然书很厚,而我的力量单薄。
    可喜的是,在我查找书中问题的同时,收到了一些读者来信,反映他们发现的书中问题。这让我非常感动,谢谢你们的大力支持。同时,也为自己的工作失误而道歉。
    下面总结了到目前为止,已经发现的问题。希望读者朋友们将你们发现的其他书中问题,通过邮件(polaris.tom@gmail.com)或者跟贴的方式告诉我。我将在查证之后,不断更新本文内容。

    页数:47
    原文:
    整数类型的变量值是整数。根据该类型变量在内存中所占的位数,可以将整数类型分为9种:短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong)和字符型(char)。除字符类型外,其他8种整数类型两两一组分别分为有符号和无符号类型。这8种整数类型的取值范围如表4-1所示。
    更正:
    整数类型的变量值是整数。根据该类型变量在内存中所占的位数,可以将整数类型分为8种:短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)和无符号长整型(ulong)。以上8种整数类型两两一组分别分为有符号和无符号类型。这8种整数类型的取值范围如表4-1所示。

    页数:47
    原文:
    表4-1中的表头,“位数”
    更正:
    应将“位数”改为“字节数”

    页数:52
    原文:
    委托定义代码 delegate void VoidOperation(unit X);
    可以把委托当作给方法的特征指定的一个名称来理解。在以上代码中,定义了一个委托VoidOperation,并指定该委托的每个实例都包含一个方法的特征,即该方法带有一个unit类型参数,并且方法的返回值类型是void。需要注意的是,在定义委托过程中,必须给出委托所代表的方法的全部细节特征。
    更正:
    委托定义代码 delegate void VoidOperation(uint X);
    可以把委托当作给方法的特征指定的一个名称来理解。在以上代码中,定义了一个委托VoidOperation,并指定该委托的每个实例都包含一个方法的特征,即该方法带有一个uint类型参数,并且方法的返回值类型是void。需要注意的是,在定义委托过程中,必须给出委托所代表的方法的全部细节特征。

     页数:57
    原文:
    if(condition1)
    {
        if(condition2)
        {
            statement(s)
        };
        else
        {
            statement(s)
        };
        statement(s)
    }
    else
    {
        if(condition3)
        {
            statement(s)
        };
        else
        {
            statement(s)
        };
            ……
    }
    更正:
    if(condition1)
    {
        if(condition2)
        {
            statement(s)
        }
        else
        {
            statement(s)
        }
        statement(s)
    }
    else
    {
        if(condition3)
        {
            statement(s)
        }
        else
        {
            statement(s)
        }
            ……
    }

    页数:58
    原文:
    Using system;
    class Test
    {
        static void Main(string[] args)
        {
            switch (args.Length)
            {
                case 0;
                Console.WriteLine ("No arguments were provided");
                break;
                case 1;
                Console.WriteLine ("One arguments was provided");
                break;
                default:
                Console.WriteLine ("{0} arguments were provided");
                break;
            }
        }
    }
    更正:
    Using system;
    class Test
    {
        static void Main(string[] args)
        {
            switch (args.Length)
            {
                case 0:
                Console.WriteLine ("No arguments were provided");
                break;
                case 1:
                Console.WriteLine ("One arguments was provided");
                break;
                default:
                Console.WriteLine ("{0} arguments were provided");
                break;
            }
        }
    }

    页数:360
    原文:
       首页(First Page)命令按钮
     该按钮的CommandName属性值必须设置为“First”。用于执行导航,显示首页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       末页(Last Page)命令按钮
     该按钮的CommandName属性值必须设置为“Last”。用于执行导航,显示末页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       下一页(Next Page)命令按钮
     该按钮的CommandName属性值必须设置为“Next”。用于执行导航,显示下一页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       上一页(Prvious Page)命令按钮
     该按钮的CommandName属性值必须设置为“Prev”。用于执行导航,显示上一页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       页(Page)命令按钮
     该按钮的CommandName属性值必须设置为“Page”。用于在分页行中显示一个按钮。当其他导航按钮,例如首页、末页、下一页、上一页按钮,都不是非常适合时,才使用该命令按钮。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
    更正:
       首页(First Page)命令按钮
     该按钮的CommandName属性值设置为“Page”,CommandArgument属性值设置为“First”。用于执行导航,显示首页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       末页(Last Page)命令按钮
     该按钮的CommandName属性值设置为“Page”,CommandArgument属性值设置为“Last”。用于执行导航,显示末页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       下一页(Next Page)命令按钮
     该按钮的CommandName属性值设置为“Page”,CommandArgument属性值设置为“Next”。用于执行导航,显示下一页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       上一页(Prvious Page)命令按钮
     该按钮的CommandName属性值设置为“Page”,CommandArgument属性值设置为“Prev”。用于执行导航,显示上一页的操作。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。
       页(Page)命令按钮
     该按钮的CommandName属性值设置为“Page”,CommandArgument属性值设置为一个指示特定页的数字。用于在分页行中显示一个按钮。当其他导航按钮,例如首页、末页、下一页、上一页按钮,都不是非常适合时,可使用该命令按钮。单击该按钮时,将引发PageIndexChanging和PageIndexChanged事件。

    页数:583
    原文:
    ASP.NET 1.x技术支持Forms验证方式,关键是基于Cookie来实现用户身份验证。然而,某些浏览器并不支持Cookie,或者用户关闭了浏览器中对Cookie的支持功能,那么ASP.NET 1.x将无法使用Forms方式实现身份验证。为此,ASP.NET 2.0提供了一种新的功能——无Cookie会话。采用这种新功能,可以轻松实现无Cookie的Forms验证。与此同时,ASP.NET 2.0还保留了对基于Cookie实现身份验证的支持。本节将重点介绍无Cookie会话功能和<forms>配置节。
    更正:
    ASP.NET 1.x技术支持Forms验证方式,关键是基于Cookie来实现用户身份验证。然而,某些浏览器并不支持Cookie,或者用户关闭了浏览器中对Cookie的支持功能,那么ASP.NET 1.x将无法使用Forms方式实现身份验证。为此,ASP.NET 2.0使用了无Cookie会话功能。采用这种功能,可以轻松实现无Cookie的Forms验证。与此同时,ASP.NET 2.0还保留了对基于Cookie实现身份验证的支持。本节将重点介绍无Cookie会话功能和<forms>配置节。

    页数:608
    原文:
    FormsAuthentication类的验证方法ValidateUser,并执行下述判断。
    更正:
    Membership类的验证方法ValidateUser,并执行下述判断。

    日期:2006年6月26日
    页数:267页第9行
    原文:
    前文介绍了两个典型的数据源控件SqlDataSource和XmlDataSource
    更正:
    前文介绍了两个典型的数据源控件SqlDataSource和AccessDataSource

    日期:2006年7月2日
    页数:202页第9行
    原文:
    可将CommandName设置为PreviousView。
    更正:
    可将CommandName设置为PreView。

    日期:2006年7月5日
    页数:32页最末一行
    原文:
    Default.asx
    更正:
    Default.aspx

    日期:2006年7月7日
    页数:228页,255页,有关ConflictDetection的说明
    原文:
    默认情况下,该属性值为CompareAllValues
    更正:
    默认情况下,该属性值为OverwriteChanges

    日期:2006年7月20日
    页数:38页,第8行
    原文:
    Framwwork支持的语言名称
    更正:
    Framework支持的语言名称

    日期:2006年7月24日
    页数:738页,第10行
    原文:
    实际上,宠物大战的本质是JAVA与.NET技术孰优熟的问题
    更正:
    实际上,宠物大战的本质是JAVA与.NET技术孰优熟劣的问题

  • 相关阅读:
    联考20200604 T2 宝石
    联考20200604 T1 旅游
    联考20200603 T2 排列
    [HAOI2017]八纵八横
    联考20200603 T1 解码
    [POI2011]KON-Conspiracy
    CF917D Stranger Trees
    CF1278F Cards
    CF809E Surprise me!
    NOI2016 循环之美
  • 原文地址:https://www.cnblogs.com/polaris/p/432473.html
Copyright © 2020-2023  润新知