Beginning ASP.NET 1.1 with Visual C# .NET 2003ISBN: 978-0-7645-5708-8
Paperback
888 pages
March 2004
This title is out-of-print and not currently available for purchase from this site.
|
Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.
Chapter | Page | Details | Date | Print Run |
---|---|---|---|---|
19 | MIssing text in file name in Step 1 Step 1 should read: Go to Program Files\Microsoft ASP.NET Web Matrix\v0.6.812 and run Web Matrix. The screen that appears is shown in Figure 1-13: |
9/3/04 | ||
31 | Typo in 1st bullet at top of page in url after word or The url after the word "or" should be: ...or http://localhost/ch02/punctual.aspx.... Not .../ch01/... |
9/3/04 | ||
7 | 220 | 2nd line from bottom of page Should read: Unlike variables, where the Dim statement defines a class, only the Class keyword followed by the class name (in this case, Person) has been used. The keyword, Public means that the class will be available to all other programs. This is necessary, as an ASP.NET page will use it. |
10/14/04 | |
7 | 224 | First paragraph Change: This validation checks whether the age is less than zero, to: This validation checks whether the age is less than one, |
10/19/04 | |
7 | 225 | Last line on page The New keyword specifies that the object is being created, and therefore causes the constructor to be run. Also, because the property is now read only, the line that explicitly sets the eye color has to be removed: myPerson.EyeColor = "Blue" |
10/14/04 | |
7 | 228 | 2nd line of step 4 Should be: You'll see a simple display that shows the name of the person and the direction they are traveling in, as shown in Figure 7-4: |
10/14/04 | |
7 | 229 | 2nd & 3rd lines of last text paragraph Should be: A value greater than 0 is taken as traveling forwards, and a negative number as traveling backwards: |
10/14/04 | |
8 | 251 | 2nd bullet in bulleted list Should be: Speed: Stored procedures are optimized the first time they are called, and then the optimized code is used in subsequent calls. |
10/14/04 | |
8 | 254 | 1st line of code in code block Should be: <wmx:AccessDataSourceControl id="AccessDataSourceControl1" |
10/14/04 | |
8 | 255 | 1st two lines of code in code block Should be: <wmx:MxDataGrid id="MxDataGrid1" runat="server" DataSourceControlID="AccessDataSourceControl1" BorderColor="#CCCCCC" |
10/14/04 | |
8 | 256 | 1st two lines of code in code block Should be: <wmx:MxDataGrid id="MxDataGrid1" runat="server" DataSourceControlID="AccessDataSourceControl1"> |
10/14/04 | |
257 | Code block after step 3, 5th line of code Change: "Data Source=C:\BegASPNet11\data\Northwind.mdb"; to: @"Data Source=C:\BegASPNet11\data\Northwind.mdb"; |
10/19/04 | ||
260 | Last code block, 2nd line Change: "Data Source=C:\BegASPNet11\data\Northwind.mdb"; to: @"Data Source=C:\BegASPNet11\data\Northwind.mdb"; |
10/19/04 | ||
8 | 262 | 1st sentence in step 3 Should be: Pick the SELECT Data Method and drag it from the Toolbox, dropping it into your code window (make sure that where you drop the toolbox item is outside any existing procedures): |
10/14/04 | |
8 | 272 | 2nd table, 1st description for method "ExecuteNonQuery" Should be: This executes the command but doesn't return any rows of data. It is useful for commands that perform an action, such as updating data, but that don't need to return a set of data. A value is returned, indicating the number of rows affected by the command. |
10/14/04 | |
8 | 278 | 1st paragraph, 2nd sentence after "The DataReader Object" heading The DataReader, an object that we haven't come across yet, is optimized for reading data. |
10/14/04 | |
9 | 284 | 3rd to last line & last line in code block 3rd to last line should be: dataAdapter.Fill(data) Last line should be: dataAdapter.Fill(data) |
10/14/04 | |
9 | 285 | 1st code block 1st code block should be: dataAdapter.Fill(data, "Products") dataAdapter.SelectCommand.CommandText = "SELECT * FROM Employees" dataAdapter.Fill(data, "Employees") |
10/14/04 | |
9 | 285 | The following addition goes after the first code block on this page The problem is that this code doesn't work as expected, because IDbDataAdapter doesn't accept the table name as an argument. For this to work you have to use the actual class, OleDbDataAdapter, rather than the interface: System.Data.OleDbOleDbDataAdapter dataAdapter = new System.Data.OleDbOleDbDataAdapter(); dataAdapter.SelectCommand = dbCommand; System.Data.DataSet data = new System.Data.DataSet(); dataAdapter.Fill(data, "Products"); |
10/15/04 | |
9 | 287 | Step 4, 2nd sentence Should be: Also drag two the Label controls onto the page and position them as headings to show the contents of selected items from the Datagrid controls. |
10/14/04 | |
9 | 287 | Error in Figure 9-3 Replacement Figure 9-3 can be downloaded on the download page. |
10/14/04 | |
9 | 295 | Addition to end of last paragraph & replacement for final code block as follows: Finally we update the data for the selected row. There could be many rows returned by the Select() method, so we index into the array. In our case we know that there is only one row returned – at most one row. We check the Length of the SelectedRows array to make sure that at least one row was found, as trying to update the row would fail if nothing was found.: // Find the row to change selectedRows = table.Select("FirstName='Margaret' AND LastName='Peacock'"); if (selectedRows.Length > 0) { selectedRows(0).Item("FirstName") = "John"; selectedRows(0).Item("LastName") = "Hartford"; } // bind the data grid to the new data DataGrid3.DataSource = table; DataGrid3.DataBind(); |
10/15/04 | |
14 | 515 | Step 1, 1st line Should be: Open Web Matrix and create a new file called syntaxerror.aspx and type the following lines of code into the All Window. |
9/17/04 | |
14 | 515 | Step 2, first line Should be Save this file and load the file using a browser. (Delete "as syntaxerror.aspx") |
9/17/04 | |
15 | 563 | 3rd full paragraph, 4th line "...find Webserver.exe.config that..." should be ""...find WebServer.exe.config that..." |
9/17/04 | |
15 | 568 | 2nd code block Last part of code should be: userControlBaseType="[typename]"//Default: System.Web.UI.UserControl validateRequest="[true|false]" // Default: true --> <pages buffer="true" enableSessionState="true" enableViewState="true" enableViewStateMac="true" autoEventWireup="true" validateRequest="true" /> |
9/17/04 | |
15 | 569 | Code block under heading "web.config File" Should be: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <compilation /> <customErrors /> <authentication /> <authorization /> <trace /> <sessionState /> <globalization /> </system.web> </configuration> |
9/17/04 | |
15 | 576 | 3rd full bullet on the page Should be: VaryByHeader enables you to cache pages specified by different HTTP headers, using a semicolon-separated list of strings. Delete the 2nd sentence. |
9/17/04 | |
15 | 576 | 4th full bullet on the page Replace current bullet with: VaryByParam enables you to cache sections of the page according to a list of parameters, which are also supplied as a semi-colon delimited list of strings. These strings will either be a query string , or a parameter sent via the POST() method. The permissible values include none,*, or any valid query string or POST() parameter name. You must include this attribute whenever you output cache an ASP.NET page or user control, because a parser error will result otherwise. To ensure the entire page is cached, just set the value to none. The "*" (asterisk) setting specifies that the Output Cache should hold a version of the page for every parameter property that your control returns. |
9/17/04 | |
15 | 581 | Code line before 2nd bulleted list Should be: Cache.Insert (FileName, Object, Dependency, DateTime, TimeSpan) |
9/17/04 | |
15 | 581 | 2nd bullet in 2nd bulleted list Should be: Object: Name of the object, most typically a DataSet. |
9/17/04 | |
15 | 585 | Error in 5th (next to last) code block First line should be: grid1.DataSource = nothing |
9/17/04 | |
15 | 586 | 5th text paragraph, last line ("address") should be ("addressKey") |
9/17/04 | |
15 | 589 | Last code block under heading "Cache Priorities" 2nd line should be: TimeSpan.Zero, CacheItemPriority.High ) |
9/17/04 | |
Appendix A | 713 | 1st line of Excercise 2 Solution Should read: The following setion should go in web.config in the ch15 folder. |
9/24/04 | |
Appendix A | 714 | Last line of 1st code block in Exercise 3 Solution Should read:<12:mylabel12 text="ServerTime()" runat="server"/> |
9/24/04 | |
717 | Error in code block Source=C:\\BegASPNET\\ch16\\Northwind.mdb;" Should be Source=C:\\BegASPNET11\\ch16\\Northwind.mdb;" |
9/24/04 | ||
722 | Error in code block + "'" + "ZipCode = '" + txtZipCode.Text + "'"; Should be: + "'" + "AND ZipCode = '" + txtZipCode.Text + "'"; |
9/24/04 | ||
Appendix A | 721 | 29th line of code Should be: <br />Zip:|<br /> |
9/24/04 |