我是负责任的:《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技术孰优熟劣的问题

posted on 2006-06-22 10:32  POLARIS  阅读(9136)  评论(163编辑  收藏  举报

导航