Introduction - Who is Stephen Rogouski
(Under Construction)
I am a Monmouth Junction, New Jersey resident who has been working as a
developer in the IT field for 10 years. I graduated from Rutgers University with
a BS in computer science.
I started my career as an IT Professional 10 years ago at a company called World
Internet Resources in Woodbridge. Back then, the Web wasn't quite as evolved as
it is now so many web developers were involved in all aspects of the creation of
a website. I was one of these developers who participated in all phases of a
project including design, development and client facing.
After consulting for over 2 years, I took a full-time position as an ASP.NET
developer at Ferrara & Company. A little over a year later, I was promoted to
lead ASP.NET developer / IT Manager. At Ferrara, I was managing and developing
multiple brand.com websites and databases, executing email campaigns and working
with account managers and project managers to design, develop and deploy
multiple resusable technology solutions including a Content Management System
for a major branded website, visitor surveys, power polls, search engines and
reporting tools.
I am currently an ASP.NET developer at Associated Press and work with a team of extremly talented programmers. My current interests include SOA methodologies, the
development of loosely coupled systems and creating software that is scalable
and extensible. These are the challenges I am currently embracing as a developer
and am furthering my skills in these disciplines. I am also available for
freelance projects and consultations and can be contacted at
stephenrogouski@rogonet.com
Programming News:
Examining ASP.NET's Membership, Roles, and Profile - Part 15 | |
When a visitor registers a new account on an ASP.NET website that uses the Membership system, they are prompted (by default) for their username, password, e-mail address,
and other pertinent information. Along with functionality for registering new accounts, the ASP.NET Membership system provides page developers techniques for modifying
information about users. For instance, with just a couple of lines of code you can change an existing user's e-mail address, approve a user, or unlock them (if their account was
locked out). However, there are certain bits of user information that cannot be modified through the Membership API, such as the username.
For most sites this is a non-issue. Once a visitor has registered an account that username is fixed; if they want a different username, well, they'll just have to register
a new account. But consider a website that has customized the account creation process so that instead of prompting the user for both a username and e-mail address, the user
is only asked to enter an e-mail address and that it is used as both their username and e-mail address on file. Anytime a user switched e-mail addresses - which can happen
when changing jobs, changing ISPs, or moving to the new, hip, web-based e-mail provider of the day - they need to also change their username on your site.
In order to change a user's username we'll need to bypass the Membership API and work directly with the user store. This article shows how to interface directly with the
SQL Server database schema used by the SqlMembershipProvider to change an existing user's username. Read on to learn more!
Read More > |
ASP.NET Master Page Advice, Tips, and Tricks | |
Master pages are an important part of any ASP.NET website. In a nutshell, a master page allows the page
developer to define a website template, indicating what portions of the template are to remain fixed across pages that use the template and what regions of the template
are customizable on a page-by-page basis. Having the site design and layout centralized in one (or more) master pages makes it easy to add new pages to the site that inherit
the same look and feel and greatly simplifies changing the site design or adding or removing content that is common to all pages, such as content in the <head>
element, footers, and references to CSS and JavaScript files.
This article presents advice for using master pages, along with assorted tips and tricks that I've picked up over the years in using master pages. Read on to learn
more! And if you have additional recommendations and advice on using master pages, please don't hesitate to drop me a line
and I'll be happy to add your insight to this article.
Read More > |
Using ASP.NET 3.5's ListView and DataPager Controls: Inserting Data | |
The ListView control is similar to the GridView control in many ways: both display a set of records, both support built-in sorting,
paging, editing, and deleting functionality with minimal effort. The ListView differs from the GridView in two key ways:
- Rather than using fields, the ListView is rendered via templates, which offers the page developer much finer control
over the emitted markup, and
- The ListView supports built-in inserting support
The first installment in this series explored the ListView's
template-based rendering. This installment looks at how to use the ListView's inserting functionality.
In a nutshell, inserting data from the ListView requires two steps: defining the inserting interface via the InsertItemTemplate
and specifying where the inserting interface should go via the InsertItemPosition property. Much like with
editing data from within the ListView, the
InsertItemTemplate can contain two-way databinding statements when using a data source control to get the inputs entered
by the user from the ListView's inserting interface into the parameters of the data source control. And like with the editing and
deleting workflows, you can programmatically examine and modify the user's submitted data before inserting the data, cancelling the
operation altogether if needed.
This article walks through the steps for creating a ListView that allows users to insert records. It also shows how to optionally
cancel the inserting workflow based on programmatic logic. Read on to learn more!
(It is assumed that the reader is familiar with how to insert data using a data source control. If this
is not the case, please first read Accessing and Updating Data in ASP.NET:
Inserting Data.)
Read More > |
Using ASP.NET 3.5's ListView and DataPager Controls: Editing Data | |
The GridView and DetailsView controls offer built-in editing functionality that can be turned on with the tick of a checkbox. Without writing a line of declarative markup
or server-side source code, the page developer gets a decent out of the box editing interface. Namely, each field in the GridView or DetailsView is rendered in its editing
interface; BoundFields display a TextBox control while CheckBoxFields display an enabled checkbox. Moreover, a CommandField is added, which displays the Edit, Update, and
Cancel buttons, as needed.
While the ListView control provides editing support, it requires a bit more work from the page developer to get it going. The reason is because the ListView is defined by
templates whereas the GridView and DetailsView are defined by fields. Many fields types, such as the BoundField, can generate their own editing interface, but with templates
the page developer is on the hook for specifying the editing interface. Creating an editable ListView control entails defining the editing interface via the
EditItemTemplate and adding the Edit, Update, and Cancel buttons in the appropriate spots.
This article walks through creating an editable ListView control, with the finished results available for download at the end of the article. Read on to learn more!
(It is assumed that the reader is familiar with how to edit data using a data source control. If this
is not the case, please first read Accessing and Updating Data in ASP.NET: Updating Basics.)
Read More > |
Implementing Incremental Navigation with ASP.NET | |
Traditionally, website navigation has been focused on minimizing the number of clicks required to open a given page. However, this goal has nothing to do with the real
purpose of navigation, which is to make finding information easy, consistent, and transparent to the user. Also, as websites get bigger, traditional navigation controls
such as drop-down menus or tree views become impractical. Faster Internet connections and larger screen sizes now allow developers to experiment with new styles of
navigation.
This article shows how to implement incremental navigation, which is a style of navigation where users find information by clicking through a series of lightweight
pages, with each click resulting in a small, but highly visible change to the navigation user interface. It differs from traditional drop-down menu navigation in that
incremental navigation limits the amount of new choices available to just the next level in the sitemap hierarchy.
I've created a customizable framework for implementing this sort of navigation scheme named Theseus, which you can download from the end of this article. Underneath the
covers, Theseus uses ASP.NET's SiteMap class and the configured sitemap provider
to implement the incremental navigation. This article starts with an overview of incremental navigation and then goes on to examine how to use Theseus to implement
such a navigation scheme in your website. Read on to learn more!
Read More > |