Working with Data in ASP.NET 2.0 8 April 2007
Posted by Ahmed Abdul Moniem in Web Application Development.1 comment so far
Introduction
Basic Reporting
- Displaying Data With the ObjectDataSource
- Declarative Parameters
- Programmatically Setting the ObjectDataSource’s Parameter Values
Master/Detail
- Master/Detail Filtering With a DropDownList
- Master/Detail Filtering With Two DropDownLists
- Master/Detail Filtering Across Two Pages
- Master/Detail Using a Selectable Master GridView with a Details DetailView
Custom Formatting
- Custom Formatting Based Upon Data
- Using TemplateFields in the GridView Control
- Using TemplateFields in the DetailsView Control
- Using the FormView’s Templates
- Displaying Summary Information in the GridView’s Footer
Editing, Inserting, and Deleting Data
- An Overview of Inserting, Updating, and Deleting Data
- Examining the Events Associated with Inserting, Updating, and Deleting
- Handling BLL- and DAL-Level Exceptions in an ASP.NET Page
- Adding Validation Controls to the Editing and Inserting Interfaces
- Customizing the Data Modification Interface
- Implementing Optimistic Concurrency
- Adding Client-Side Confirmation When Deleting
- Limiting Data Modification Functionality Based on the User
Paging and Sorting
- Paging and Sorting Report Data
- Efficiently Paging Through Large Amounts of Data
- Sorting Custom Paged Data
- Creating a Customized Sorting User Interface
Custom Button Actions
Displaying Data with the DataList and Repeater
- Displaying Data with the DataList and Repeater Controls
- Formatting the DataList and Repeater Based Upon Data
- Showing Multiple Records per Row with the DataList Control
- Nested Data Web Controls
Filtering Scenarios with the DataList and Repeater
- Master/Detail Filtering With a DropDownList
- Master/Detail Filtering Across Two Pages
- Master/Detail Using a Bulleted List of Master Records with a Details DataList
Editing and Deleting Data Through the DataList
- An Overview of Editing and Deleting Data in the DataList
- Performing Batch Updates
- Handling BLL- and DAL-Level Exceptions
- Adding Validation Controls to the DataList’s Editing Interface
- Customizing the DataList’s Editing Interface
- Implementing Optimistic Concurrency
- Adding Client-Side Confirmation When Deleting
- Limiting Data Modification Functionality Based on the User
Paging and Sorting with the DataList and Repeater
Custom Button Actions with the DataList and Repeater
Accessing the Database Directly from an ASP.NET Page
- Querying Data with the SqlDataSource Control
- Using Parameterized Queries with the SqlDataSource
- Inserting, Updating, and Deleting Data with the SqlDataSource
- Implementing Optimistic Concurrency with the SqlDataSource
Enhancing the GridView
- Adding a GridView Column of Radio Buttons
- Adding a GridView Column of Checkboxes
- Inserting a New Record from the GridView’s Footer
Working with Binary Files
- Uploading Files
- Displaying Binary Data in the Data Web Controls
- Including a File Upload Option When Adding a New Record
- Updating and Deleting Existing Binary Data
Caching Data
- Caching Data with the ObjectDataSource
- Caching Data in the Architecture
- Caching Data at Application Startup
- Using SQL Cache Dependencies
Database-Driven Site Maps
Working with Batched Data
Advanced Data Access Scenarios
- Creating New Stored Procedures for the Typed DataSet’s TableAdapters
- Using Existing Stored Procedures for the Typed DataSet’s TableAdapters
- Updating the TableAdapter to Use JOINs
- Adding Additional DataTable Columns
- Working with Computed Columns
- Configuring the Data Access Layer’s Connection- and Command-Level Settings
- Protecting Connection Strings and Other Configuration Information
- Debugging Stored Procedures
- Creating Stored Procedures and User-Defined Functions with Managed Code
List Of Useful Programs To Developers 15 September 2006
Posted by Ahmed Abdul Moniem in General Articles.1 comment so far
This list will be updatable if your comments will contain other useful programs not included.
Source Control Programs:
The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.
And you can download last version from here
And see this for a comparison between different source control programs
And you can download subversion book from here
==============================
The coolest Interface to (Sub)Version Control
And you can download it from here
Issue/Bug Tracking Programs:
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission; to help developers write great software while staying out of the way. Trac should impose as little as possible on a team’s established development process and policies.
And you can download it from here
==============================
Mantis is a web-based bugtracking system. It is written in the PHP scripting language and requires the MySQL database and a webserver. Mantis has been installed on Windows, Mac OS, OS/2, and a variety of Unix operating systems. Almost any web browser should be able to function as a client. It is released under the terms of the GNU General Public License (GPL).
And you can download it from here
Unit Test Programs:
You can know more about unit testing from here
NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.2, is the fourth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.
And you can download it from here
==============================
NCover provides statistics about your code, telling you how many times each line of code was executed during a particular run of the application. The most common use of code coverage analysis is to provide a measurement of how thoroughly your unit tests exercise your code. After running your unit tests under NCover, you can easily pinpoint sections of code that are poorly covered and write unit tests for those portions. Code coverage measurement is a vital part of a healthy build environment.
And you can download it from here
Project/Task Management Programs:
dotProject is a volunteer supported Project Management application. There is no “company” behind this project, it is managed, maintained, developed and supported by a volunteer group and by the users themselves.
And you can download it from here
Code Analysis Programs:
FxCop is a code analysis tool that checks .NET managed code assemblies for conformance to the Microsoft .NET Framework Design Guidelines. It uses reflection, MSIL parsing, and callgraph analysis to inspect assemblies for more than 200 defects in the following areas:
- Library design
- Localization
- Naming conventions
- Performance
- Security
FxCop includes both GUI and command line versions of the tool.
And you can download it from here
Naming Guidelines 14 September 2006
Posted by Ahmed Abdul Moniem in General Articles.add a comment
A consistent naming pattern is one of the most important elements of predictability and discoverability in a managed class library. Widespread use and understanding of these naming guidelines should eliminate many of the most common user questions. This topic provides naming guidelines for the .NET Framework types. For each type, you should also take note of some general rules with respect to capitalization styles, case sensitivity and word choice.
- Capitalization Styles
- Describes the Pascal case, camel case, and uppercase capitalization styles to use to name identifiers in class libraries.
- Case Sensitivity
- Describes the case sensitivity guidelines to follow when naming identifiers in class libraries.
- Abbreviations
- Describes the guidelines for using abbreviations in type names.
- Word Choice
- Lists the keywords to avoid using in type names.
- Avoiding Type Name Confusion
- Describes how to avoid using language-specific terminology in order to avoid type name confusion.
- Namespace Naming Guidelines
- Describes the guidelines to follow when naming namespaces.
- Class Naming Guidelines
- Describes the guidelines to follow when naming classes.
- Interface Naming Guidelines
- Describes the guidelines to follow when naming interfaces.
- Attribute Naming Guidelines
- Describes the correct way to name an attribute using the Attribute suffix.
- Enumeration Type Naming Guidelines
- Describes the guidelines to follow when naming enumerations.
- Static Field Naming Guidelines
- Describes the guidelines to follow when naming static fields.
- Parameter Naming Guidelines
- Describes the guidelines to follow when naming parameters.
- Method Naming Guidelines
- Describes the guidelines to follow when naming methods.
- Property Naming Guidelines
- Describes the guidelines to follow when naming properties.
- Event Naming Guidelines
- Describes the guidelines to follow when naming events.
Step-By-Step Windows Application Development 12 September 2006
Posted by Ahmed Abdul Moniem in Windows Application Development.4 comments
In this category “Windows Application Development” we will be concerned ONLY in developing some windows applications using C# 2005 mainly.
This post is the start of this category and I hope to hear from you some ideas to windows applications to develop here step-by-step in this section and all the source code will be supplied to my blog visitors for free and may be it will be licensed using GPL license.
So, I am waiting for your ideas and I hope it will effective and creative ….
Note:
All the applications which will be developed will walk on these guide lines step-by-step:
1- Project Life Cycle
2-N-Tier Application Development with Microsoft.NET
Step-By-Step Web Application Development 12 September 2006
Posted by Ahmed Abdul Moniem in Web Application Development.7 comments
In this category “Web Application Development” we will be concerned ONLY in developing some web applications using ASP.NET 2.0 and C# 2005 mainly.
This post is the start of this category and I hope to hear from you some ideas to web applications to develop here step-by-step in this section and all the source code will be supplied to my blog visitors for free and may be it will be licensed using GPL license.
So, I am waiting for your ideas and I hope it will effective and creative ….
Note:
All the applications which will be developed will walk on these guide lines step-by-step:
1- Project Life Cycle
2-N-Tier Application Development with Microsoft.NET
N-Tier Application Development with Microsoft.NET 12 September 2006
Posted by Ahmed Abdul Moniem in General Articles.7 comments
This series of articles is very useful to understand the concept of N-Tier Application Development. It was written by Karim Hyatt on Belgum MSDN.
Part 1 : What is N-Tier Architecture?
Part 2 : How to implement the Business Layer?
Part 3 : How to implement the Data Layer?
Also in future, I will try to publish new articles from books or web about this issue.
Project Life Cycle 11 September 2006
Posted by Ahmed Abdul Moniem in General Articles.add a comment
The development life cycle of a project involves three phases:
◆ Project initiation
◆ Project execution
◆ Project deployment
In the project initiation phase, a comprehensive list of tasks to be performed is prepared, and responsibilities, depending upon individual skills, are assigned to team members. I will be discussing the tasks that need to be performed when I proceed with the coding of the application.
In the project execution phase, the development team develops the application.This
phase consists of the following stages:
◆ Analyzing requirements
Analyzing requirements is the process of determining and documenting customer’s needs and constraints. Subsequently, based on these requirements, you create a plan for developing the application. The process of analyzing requirements often starts with a problem statement given by a customer or the customer’s representative. Analysts organize all the information gathered from the customer and analyze the customer’s needs.Finally, they prepare a written description of the customer’s problem and define a possible solution.
◆ Creating high-level design
The second stage in the project execution phase is to develop a high-level design. In the high-level design phase, the external characteristics of the system, such as interfaces, are designed. In addition, in this phase, the operating environment and various subsystems and their input and output are decided. In this stage, features that require user input or approval from the client are documented, and client approval is obtained for the same. These documents include the functional specifications document of the application, which is presented in a simple language to the client. The functional specifications include the description of the databases, forms, and reports that will be included in the application.
◆ Creating low-level design
In the low-level design phase, a detailed design of the software modules, based on the high-level design, is produced. In addition, the team lays down specifications for various software modules of an application. Modules defined in the high-level design phase are used to create a detailed structure of a system. The system contains subsystems, which are partitioned into one or more design units or modules. In the low-level design phase, the flow of the different modules in the project and the interactions between various interfaces are defined.
◆ Construction
In the construction phase, different software modules are built.This phase uses the output of the low-level design to produce software components. During the construction phase, task responsibilities are assigned to team members. Some team members may need to design and develop an interface, while the others may be required to write the code for database connectivity and business rules.
◆ Integration and testing
The integration of different modules and testing are conducted during the integration and testing phase. The quality assurance (QA) team validates whether the functional requirements, defined in the requirements document, are met. The development team also submits a test case report to the QA team so that the application that the development team has created can be tested in various possible scenarios.
◆ User acceptance testing
In the user acceptance phase, based on the predefined acceptance criteria, the client conducts acceptance testing of the project. In this phase, the acceptance criteria include the fulfillment of all the requirements identified during the requirements analysis phase.
The final stage in the project life cycle is the project deployment phase. In this stage,
the application is deployed at the client location, and support is provided to the
client for a specified period. In addition, any bugs identified in the application are
debugged. This phase consists of the following two stages:
◆ Implementation
The system is installed and made operational in a production environment. The implementation phase is initiated after the system has been tested and accepted by the client. This phase continues until the system operates in a production environment.
◆ Operation and maintenance
In the operations and maintenance phase, software is monitored for performance in accordance with user requirements. In addition, the modifications that are required are incorporated in the software. Operations continue as long as a system can effectively adapt to an organization’s needs. However, when modifications or changes are identified, the system may re-enter the planning phase.
Note: This article is a summary from “Microsoft C# Professional Projects” Book [ISBN: 1-931841-30-6]






