MSDN Magazine > Issues and Downloads > 2003 >  MSDN Magazine August 2003
August2003 August 2003
ASP.NET: Jump Start Your Web Site Development with the ASP.NET Starter Kits
If you're building an ASP.NET Web site you could probably use a good, solid code foundation to start with and build upon. Wouldn't it be nice to start with a complete site, make a few tweaks and customizations, and go live? The ASP.NET Starter Kits are packaged solutions that let you do just that. The five kits—Community, Reports, Commerce, Portal, and Time Tracker—supply full, reusable code that can be easily customized. In addition, there are a number of ISPs that support automatic deployment of ASP.NET Starter Kit Web sites, leaving you with little left to do when you have to get there fast. Here, the author introduces the ASP.NET Starter Kits and builds a community Web site with lots of advanced features such as ratings, user polls, upload quotas, change notifications, and themes. Paul Litwin
DataGrid: Tailor Your DataGrid Apps Using Table Style and Custom Column Style Objects
One of the most enduring challenges in writing user interfaces is figuring out how to display large amounts of data efficiently and intuitively without bewildering the user. The problem becomes particularly thorny when the interface must reflect hierarchical relationships within the data that the user needs to modify. The Windows Forms DataGrid control gives developers a powerful and flexible tool to meet this challenge. This article explains its basic operations and shows how to extend the DataGrid to display columns of data in an application-appropriate manner. Kristy Saunders
XSLT: Simplify Development and Maintenance of Microsoft .NET Projects with Code Generation Techniques
Code generation techniques using technologies such as XSLT are playing an increasingly important part in software projects as they support the development of a rapidly maintainable code base. This article discusses some of the benefits and possible applications of code generation.To demonstrate these techniques the author develops a Web Forms application that supports the maintenance of records in a SQL Server database, using the database's own metadata to drive the generation process. The SQL Server database schema is extracted using SQLXML 3.0 data access and processed through XSLT stylesheets that generate both a database access layer and a Web Forms user interface with query and update pages. Peter Ashley
DCOM Interop: Generate Custom Managed C++ Wrappers for Easier COM Interoperation Using DCOMSuds
Now that you're writing managed code, you'll certainly want to use your existing COM components, but you can't simply call them directly. Instead, you have to wrap the COM component in a runtime-callable wrapper that acts as a proxy between the component and your managed code. While the CLR provides wrapper classes for this purpose, there will be times when you'll want custom objects to wrap your COM components. One way to get the low-level access you need to precisely control resource cleanup, pass security information, and get access to CLR features is to write your own wrapper class in managed C++. This article shows you how. Vishwas Lele
Web Services: Extend the ASP.NET WebMethod Framework with Business Rules Validation
In an earlier article the authors showed how to build a custom WebMethods extension that provides XML Schema validation, a function that is lacking in ASP.NET. In the process they established a foundation for enforcing business rules during the deserialization of XML data. The technique, which is described in this article, uses declarative XPath assertions to test business rule compliance.In building this business rules validation engine, the authors integrate the validation descriptions into the WSDL file that is automatically generated by the WebMethod infrastructure. Finally, they demonstrate how to extend wsdl.exe, the tool that generates WebMethod proxy/server code from WSDL files, to make use of their extensions. Aaron Skonnard and Dan Sullivan
Code Download (2,137 KB)
.Chm Files

Columns
Editor's Note: Tech•Ed 2003 Offers Revealing Glimpse into Dev
When we arrived in Dallas for Tech•Ed in June, there was reason to worry. For a moment, we felt that familiar unease we once had as adolescents sent off to visit the grandparents down in Miami. How else to explain the "Happy 100th Birthday, Irving!" signs on the highway exit from DFW?.
New Stuff: Resources for Your Developer Toolbox
Dubbeldam Software has released HtmlTweak, a tool that allows Web developers and designers to locate and inspect HTML elements loaded in Microsoft® Internet Explorer, and modify HTML, Cascading Style Sheet rules, and attributes to test changes. Theresa W. Carey
Web Q&A: Who Called the Script?, Concatenating Binary Files, and More
This month find out which part of an HTML document has called a script, how to concatenate binary files, find a node, reference one script from another, build a GUI database front end in Access, and compare XML files. Edited by Nancy Michell
Cutting Edge: Creating a Multi-table DataGrid in ASP.NET
If you bind a multi-table DataSet to a DataGrid, only the first table is recognized. Here Dino Esposito writes a custom solution the the multi-table problem. Dino Esposito
The XML Files: XSLT Keys, Select vs. Match, Conflict Resolution, and More
This month Aaron Skonnard covers how keys work in XSLT, XSLT match and select attributes, SelectNodes order, finding <script> tags, XSLT pattern matching, xsl:include and xsl:import, xsl:if, and xsl:output. Aaron Skonnard
Advanced Basics: Data Binding in Visual Basic .NET
Ken Spencer introduces data binding in Visual Basic .NET. Ken Spencer
Security Briefs: Hashing Passwords, The AllowPartiallyTrustedCallers Attribute
Keith Brown describes how yo can hash passwords when you want to store them in your own custom database, and when to use the AllowPartiallyTrustedCallers attribure on your assembly. Keith Brown
Basic Instincts: Naming and Building Assemblies in Visual Basic .NET
Learn what the different parts of an assembly name mean, how to create a stronly named assembly, and get other assembly security tips. Ted Pattison
C++ Q&A: Finding a Win32 Handle, HTML in CHtmlCtrl
This month Paul DiLascia discusses how to find windows with GetLastChild and outputting HTML with a C++ procedure equivalent to document.write. Paul DiLascia
Resource File: Creating Privacy-aware Web Sites
Privacy issues are of primary concern to those involved in Internet commerce. Some consumers are hesitant to provide information to Web sites without clearly understanding how their data will be used and with whom it will be shared.
Page view tracker