What is ASP.NET?
Microsoft
ASP.NET is a server side technology that enables programmers to build
dynamic Web sites, web applications, and XML Web services. It is a part
of the .NET based environment and is built on the Common Language
Runtime (CLR) . So programmers can write ASP.NET code using any .NET
compatible language.
What are the differences between ASP.NET 1.1 and ASP.NET 2.0?
A comparison chart containing the differences between ASP.NET 1.1 and ASP.NET 2.0 can be found over here.
Which is the latest version of ASP.NET? What were the previous versions released?
The latest version of ASP.NET is 2.0. There have been 3 versions of ASP.NET released as of date. They are as follows :
ASP.NET 1.0 – Released on January 16, 2002.
ASP.NET 1.1 – Released on April 24, 2003.
ASP.NET 2.0 – Released on November 7, 2005.
Additionally, ASP.NET 3.5 is tentatively to be released by the end of the 2007.
Explain the Event Life cycle of ASP.NET 2.0?
The
events occur in the following sequence. Its best to turn on
tracing(<% @Page Trace=”true”%>) and track the flow of events :
PreInit –
This event represents the entry point of the page life cycle. If you
need to change the Master page or theme programmatically, then this
would be the event to do so. Dynamic controls are created in this event.
Init – Each control in the control collection is initialized.
Init Complete* - Page is initialized and the process is completed.
PreLoad* - This event is called before the loading of the page is completed.
Load
– This event is raised for the Page and then all child controls. The
controls properties and view state can be accessed at this stage. This
event indicates that the controls have been fully loaded.
LoadComplete*
- This event signals indicates that the page has been loaded in the
memory. It also marks the beginning of the rendering stage.
PreRender
– If you need to make any final updates to the contents of the controls
or the page, then use this event. It first fires for the page and then
for all the controls.
PreRenderComplete* - Is called to explicitly state that the PreRender phase is completed.
SaveStateComplete* - In this event, the current state of the control is completely saved to the ViewState.
Unload –
This event is typically used for closing files and database
connections. At times, it is also used for logging some wrap-up tasks.
The events marked with * have been introduced in ASP.NET 2.0.
You have created an ASP.NET Application. How will you run it?
With
ASP.NET 2.0, Visual Studio comes with an inbuilt ASP.NET Development
Server to test your pages. It functions as a local Web server. The only
limitation is that remote machines cannot access pages running on this
local server. The second option is to deploy a Web application to a
computer running IIS version 5 or 6 or 7.
Explain the AutoPostBack feature in ASP.NET?
AutoPostBack
allows a control to automatically postback when an event is fired. For
eg: If we have a Button control and want the event to be posted to the
server for processing, we can set AutoPostBack = True on the button.
How do you disable AutoPostBack?
Hence the AutoPostBack can be disabled on an ASP.NET page by disabling AutoPostBack on all the controls of a page. AutoPostBack is caused by a control on the page.
What are the different code models available in ASP.NET 2.0?
There are 2 code models available in ASP.NET 2.0. One is the single-file page and the other one is the code behind page.
Which base class does the web form inherit from?
Page class in the System.Web.UI namespace.
Which are the new special folders that are introduced in ASP.NET 2.0?
There are seven new folders introduced in ASP.NET 2.0 :
\App_Browsers folder – Holds browser definitions(.brower) files which identify the browser and their capabilities.
\App_Code folder
– Contains source code (.cs, .vb) files which are automatically
compiled when placed in this folder. Additionally placing web service
files generates a proxy class(out of .wsdl) and a typed dataset (out of
.xsd).
\App_Data folder –
Contains data store files like .mdf (Sql Express files), .mdb, XML
files etc. This folder also stores the local db to maintain membership
and role information.
\App_GlobalResources folder –
Contains assembly resource files (.resx) which when placed in this
folder are compiled automatically. In earlier versions, we were required
to manually use the resgen.exe tool to compile resource files. These
files can be accessed globally in the application.
\App_LocalResources folder – Contains assembly resource files (.resx) which can be used by a specific page or control.
\App_Themes folder – This folder contains .css and .skin files that define the appearance of web pages and controls.
\App_WebReferences folder –
Replaces the previously used Web References folder. This folder
contains the .disco, .wsdl, .xsd files that get generated when accessing
remote web services.
Explain the ViewState in ASP.NET?
Http
is a stateless protocol. Hence the state of controls is not saved
between postbacks. Viewstate is the means of storing the state of server
side controls between postbacks. The information is stored in HTML
hidden fields. In other words, it is a snapshot of the contents of a
page.
You can disable viewstate by a control by setting the EnableViewState property to false.
What does the EnableViewState property signify?
EnableViewState
saves the state of an object in a page between postbacks. Objects are
saved in a Base64 encoded string. If you do not need to store the page,
turn it off as it adds to the page size.
Explain the ASP.NET Page Directives?
Page directives configure the runtime environment that will execute the page. The complete list of directives is as follows:
@ Assembly - Links an assembly to the current page or user control declaratively.
@
Control - Defines control-specific attributes used by the ASP.NET page
parser and compiler and can be included only in .ascx files (user
controls).
@ Implements - Indicates that a page or user control implements a specified .NET Framework interface declaratively.
@ Import - Imports a namespace into a page or user control explicitly.
@
Master - Identifies a page as a master page and defines attributes used
by the ASP.NET page parser and compiler and can be included only in
.master files.
@ MasterType - Defines the class or virtual path used to type the Master property of a page.
@ OutputCache - Controls the output caching policies of a page or user control declaratively.
@ Page - Defines page-specific attributes used by the ASP.NET page parser and compiler and can be included only in .aspx files.
@ PreviousPageType - Creates a strongly typed reference to the source page from the target of a cross-page posting.
@ Reference - Links a page, user control, or COM control to the current page or user control declaratively.
@
Register - Associates aliases with namespaces and classes, which allow
user controls and custom server controls to be rendered when included in
a requested page or user control.
Explain the Validation Controls used in ASP.NET 2.0?
Validation
controls allows you to validate a control against a set of rules. There
are 6 different validation controls used in ASP.NET 2.0.
RequiredFieldValidator – Checks if the control is not empty when the form is submitted.
CompareValidator
– Compares the value of one control to another using a comparison
operator (equal, less than, greater than etc).
RangeValidator – Checks whether a value falls within a given range of number, date or string.
RegularExpressionValidator – Confirms that the value of a control matches a pattern defined by a regular expression. Eg: Email validation.
CustomValidator
– Calls your own custom validation logic to perform validations that
cannot be handled by the built in validators.
ValidationSummary – Show a summary of errors raised by each control on the page on a specific spot or in a message box.
How do you indentify that the page is post back?
By checking the IsPostBack property. If IsPostBack is True, the page has been posted back.
What are Master Pages?
Master
pages is a template that is used to create web pages with a consistent
layout throughout your application. Master Pages contains content
placeholders to hold page specific content. When a page is requested,
the contents of a Master page are merged with the content page, thereby
giving a consistent layout.
How is a Master Page different from an ASP.NET page?
The
MasterPage has a @Master top directive and contains ContentPlaceHolder
server controls. It is quiet similar to an ASP.NET page.
How do you attach an exisiting page to a Master page?
By using the MasterPageFile attribute in the @Page directive and removing some markup.
How do you set the title of an ASP.NET page that is attached to a Master Page?
By using the Title property of the @Page directive in the content page. Eg:
<@Page MasterPageFile="Sample.master" Title="I hold content" %>
What is a nested master page? How do you create them?
A
Nested master page is a master page associated with another master
page. To create a nested master page, set the MasterPageFile attribute
of the @Master directive to the name of the .master file of the base
master page.
What are Themes?
Themes
are a collection of CSS files, .skin files, and images. They are text
based style definitions and are very similar to CSS, in that they
provide a common look and feel throughout the website.
What are skins?
A
theme contains one or more skin files. A skin is simply a text file
with a .skin extension and contains definition of styles applied to
server controls in an ASP.NET page. For eg:
<asp:button runat="server" BackColor="blue" BorderColor="Gray" Font-Bold ="true" ForeColor="white"/>
Defines a skin that will be applied to all buttons throughout to give it a consistent look and feel.
What is the difference between Skins and Css files?
Css is applied to HTML controls whereas skins are applied to server controls.
What is a User Control?
User controls are reusable controls, similar to web pages. They cannot be accessed directly.
Explain briefly the steps in creating a user control?
· Create a file with .ascx extension and place the @Control directive at top of the page.
· Included the user control in a Web Forms page using a @Register directive
What is a Custom Control?
Custom
controls are compiled components that run on the server and that
encapsulate user-interface and other related functionality into reusable
packages. They can include all the design-time features of standard
ASP.NET server controls, including full support for Visual Studio design
features such as the Properties window, the visual designer, and the
Toolbox.
What are the differences between user and custom controls?
User controls are easier to create in comparison to custom controls, however user controls can be less convenient to use in advanced scenarios.
User
controls have limited support for consumers who use a visual design
tool whereas custom controls have full visual design tool support for
consumers.
A
separate copy of the user control is required in each application that
uses it whereas only a single copy of the custom control is required, in
the global assembly cache, which makes maintenance easier.
A
user control cannot be added to the Toolbox in Visual Studio whereas
custom controls can be added to the Toolbox in Visual Studio.
User controls are good for static layout whereas custom controls are good for dynamic layout.
Where do you store your connection string information?
The connection string can be stored in configuration files (web.config).
What is the difference between ‘Web.config’ and ‘Machine.config’?
Web.config files are used to apply configuration settings to a particular web application whereas machine.config file is used to apply configuration settings for all the websites on a web server.
Web.config
files are located in the application's root directory or inside a
folder situated in a lower hierarchy. The machine.config is located in the Windows directory Microsoft.Net\Framework\Version\CONFIG.
There
can be multiple web.config files in an application nested at different
hierarchies. However there can be only one machine.config file on a web
server.
What is the difference between Server.Transfer and Response.Redirect?
Response.Redirect
involves a roundtrip to the server whereas Server.Transfer conserves
server resources by avoiding the roundtrip. It just changes the focus of
the webserver to a different page and transfers the page processing to a
different page.
Response.Redirect can be used for both .aspx and html pages whereas Server.Transfer can be used only for .aspx pages.
Response.Redirect
can be used to redirect a user to an external websites. Server.Transfer
can be used only on sites running on the same server. You cannot use
Server.Transfer to redirect the user to a page running on a different
server.
Response.Redirect
changes the url in the browser. So they can be bookmarked. Whereas
Server.Transfer retains the original url in the browser. It just
replaces the contents of the previous page with the new one.
What method do you use to explicitly kill a users session?
Session.Abandon().
What is a webservice?
Web Services are applications delivered as a service on the Web.
Web services allow for programmatic access of business logic over the
Web. Web services typically rely on XML-based protocols, messages, and
interface descriptions for communication and access. Web services are
designed to be used by other programs or applications rather than
directly by end user. Programs invoking a Web service are called
clients. SOAP over HTTP is the most commonly used protocol for invoking
Web services.
No comments:
Post a Comment