A common question asked in interviews. The Response object has a famous Redirect method that is used most widely
to transfer a web page visitor from one page to another page.
Syntax of Response.Redirect ...
Response.Redirect("DestinationPage.aspx")
Response.Redirect("DestinationPage.aspx")
There is another famous method called Transfer method of the Server object.
Syntax of Server.Transfer ...
Server.Transfer("DestinationPage.aspx")
Server.Transfer("DestinationPage.aspx")
How to pass values between pages?
Every interviewer will expect this from you. There are several methods
to pass values from one page to another page. Described below
are few methods to pass values between pages:
QueryString - The QueryString method of passing values between web pages is one of the oldest methods of passing values between pages. A variable value is properly encoded before it is placed on a querystring. This is to make sure that characters that cause problems (like symbols and spaces) are encoded correctly. See the code below to see how QueryString functionality works.
QueryString - The QueryString method of passing values between web pages is one of the oldest methods of passing values between pages. A variable value is properly encoded before it is placed on a querystring. This is to make sure that characters that cause problems (like symbols and spaces) are encoded correctly. See the code below to see how QueryString functionality works.
//Code in InitialPage.aspx
String sString;
sString = Server.UrlEncode("string in InitialPage.aspx");
Response.Redirect("DestinationPage.aspx?Value=" & sString);
//Code in DestinationPage.aspx reads the QueryString
String sString;
sString = Request.QueryString("Value");
Response.Write("Your name is " & sString);
The data in the DestinationPage.aspx in the URL looks like this...
http://www.dotnetgig.com/DestinationPage.aspx?Value=dotnetUncle
String sString;
sString = Server.UrlEncode("string in InitialPage.aspx");
Response.Redirect("DestinationPage.aspx?Value=" & sString);
//Code in DestinationPage.aspx reads the QueryString
String sString;
sString = Request.QueryString("Value");
Response.Write("Your name is " & sString);
The data in the DestinationPage.aspx in the URL looks like this...
http://www.dotnetgig.com/DestinationPage.aspx?Value=dotnetUncle
Context - The context object is used to send values between pages. Its similar to the
session object, the difference being that, the Context object goes out of scope when the page
is sent to a browser. Example code below shows how to use Context object.
'InitialPage.aspx stores value in context before sending it
Context.Items("MyData") = "dotnetgig";
Server.Transfer("DestinationPage.aspx");
'DestinationPage.aspx retrieves the value from InitialPage.aspx's context
String sString;
sString = Context.Items("MyDate").ToString;
Response.Write("The data is as follows: " & sString);
Context.Items("MyData") = "dotnetgig";
Server.Transfer("DestinationPage.aspx");
'DestinationPage.aspx retrieves the value from InitialPage.aspx's context
String sString;
sString = Context.Items("MyDate").ToString;
Response.Write("The data is as follows: " & sString);
Session - The session object is used to persist data across a user
session during the user's visit to a website. It is almost same as the Context object.
When we use Response.Redirect, it causes the Context object to go away, so rather the
Session object is used in such a scenario. Session object uses more of server memory than a
context object. Example code below shows how to use Session object.
'InitialPage.aspx stores value in session before sending it
Session.Items("MyData") = "dotnetgig";
Response.Redirect("DestinationPage.aspx");
'DestinationPage.aspx retrieves the value from InitialPage.aspx's session
String sString;
sString = Session.Items("MyDate").ToString;
Response.Write("The data is as follows: " & sString);
You may notice above, I have used Response.Redirect with session object, and server.transfer
with a context object.Session.Items("MyData") = "dotnetgig";
Response.Redirect("DestinationPage.aspx");
'DestinationPage.aspx retrieves the value from InitialPage.aspx's session
String sString;
sString = Session.Items("MyDate").ToString;
Response.Write("The data is as follows: " & sString);
Application, Cache, Session - objects are used to store global variables.
What is the role of the ASP.NET worker process? What is aspnet_wp.exe?
This question is hot in every interview. For faster execution of ASP.NET applications, that are primarily based to be hosted on IIS
servers, the aspnet_wp.exe comes into picture. This file (aspnet_wp.exe) is actually the ASP.NET worker process.
The worker process is introduced to actually share the load on the IIS, so that application domains
and other services may be maintained by a single worker process.
The aspnet_wp.exe worker process is a part of the Microsoft ASP.NET framework, and it is responsible for most of the technical processes in the ASP.NET framework. There may be multiple instances of ASP.NET worker process running on IIS 6 (a process running as inetinfo.exe), depending on multiple application pools. The worker process handles all the requests passed to the ASP.NET framework, so we may say that its actually the main engine that handles all requests pertaining to ASPNET. For example, when a request for an .aspx page is recieved by the IIS server, the dll called aspnet_isapi.dll passes this request to the aspnet_wp.exe worker process.
The aspnet_wp.exe worker process is a part of the Microsoft ASP.NET framework, and it is responsible for most of the technical processes in the ASP.NET framework. There may be multiple instances of ASP.NET worker process running on IIS 6 (a process running as inetinfo.exe), depending on multiple application pools. The worker process handles all the requests passed to the ASP.NET framework, so we may say that its actually the main engine that handles all requests pertaining to ASPNET. For example, when a request for an .aspx page is recieved by the IIS server, the dll called aspnet_isapi.dll passes this request to the aspnet_wp.exe worker process.
How to store values between postbacks in ASP.NET? What is viewstate in ASP.NET?
The postback question is the heart of any interview on ASP NET. When a postback happens (i.e. when a form is submitted to a server), the variable values
that are set in the code-behind page are erased from the memory of the client system.
This concept would be different from what happens in Windows-based applications, where
the variable variables persist in memory until they are freed from the memory either by the
garbage collector, or by specific codes like dispose or finalize.
In web applications, variable values simply get erased. But it is very simple to persist these values. They may be persisted using the Viewstate object. Before the postback is invoked, the variable's value is saved in a viewstate object. In the recieving page, the viewstate's value may be retrieved back. See example code below...
In web applications, variable values simply get erased. But it is very simple to persist these values. They may be persisted using the Viewstate object. Before the postback is invoked, the variable's value is saved in a viewstate object. In the recieving page, the viewstate's value may be retrieved back. See example code below...
//Save the value in ViewState object before the PostBack
ViewState("SomeVar") = txtFirstName.text;
//Retrieve the value from ViewState object after the PostBack
String strFirstName = ViewState("SomeVar").ToString();
ViewState("SomeVar") = txtFirstName.text;
//Retrieve the value from ViewState object after the PostBack
String strFirstName = ViewState("SomeVar").ToString();
Note that the viewstate value is saved and then passed to the next page by ASP.NET in the form
of a hidden variable. Ideally, big values like datasets should not be saved in viewstate as they may tend
to slow down the performance of the web page.
Apart from the viewstate object, values may also be sent across postbacks between pages using Application, Session and Cache objects.
Apart from the viewstate object, values may also be sent across postbacks between pages using Application, Session and Cache objects.
How to store global variables?
Global variables should always be used with caution. They are the best means
of storing data that has to be accessed anywhere. The most common ways
of accessing global variables in ASP.NET are by using Application, Cache, and Session objects.
Application - Application objects are application level global variables, that need to be shared for all user sessions. Thus, data specific to a user should'nt be saved in application objects. While using application objects, the objects are locked so that multiple page requests cannot access a specific application object. Below is a code example for usage of application object...
Application - Application objects are application level global variables, that need to be shared for all user sessions. Thus, data specific to a user should'nt be saved in application objects. While using application objects, the objects are locked so that multiple page requests cannot access a specific application object. Below is a code example for usage of application object...
Application.Lock();
Application("UserData") = "dotnetgig";
Application.UnLock();
Response.Redirect("DestinationPage.aspx");
//DestinationPage.aspx gets the value from the Application State
String sString = Application("UserData").ToString();
Application("UserData") = "dotnetgig";
Application.UnLock();
Response.Redirect("DestinationPage.aspx");
//DestinationPage.aspx gets the value from the Application State
String sString = Application("UserData").ToString();
Cache - The cache object is similar to the application object in scope, however, it does
not need any explicit locking and unlocking. Code below shows usage of Cache object...
Cache("Userdata") = "dotnetgig";
Response.Redirect("DestinationPage.aspx");
//Destination.aspx retrieves the value from Cache object
String sString = Cache("Userdate").ToString();
Response.Redirect("DestinationPage.aspx");
//Destination.aspx retrieves the value from Cache object
String sString = Cache("Userdate").ToString();
The cache object also shares data across all user sessions. The cache object has features
like it can automatically expire cached content after specified time periods or once memory
consumption has reached a maximum.
Session - The session object is used to store the data specific to a user for the entire length of a user's visit to a website. Below is a code that shows usage of the session object in ASP.NET ...
Session - The session object is used to store the data specific to a user for the entire length of a user's visit to a website. Below is a code that shows usage of the session object in ASP.NET ...
//InitialPage.aspx stores the user’s credentials in Session state
Session("UserName") = txtUserName.Text;
Server.Transfer("DestinationPage.aspx");
//DestinationPage.aspx gets the user’s name from Session state
String sString = Session("UserName").ToString();
ASP.NET stores session values in the server memory. If there are plenty of active user's
of a website, then the memory consumption on the server increases by leaps. Because of this
reason, large websites use very less Session Variables. Session state can be configured to be
automatically stored in a SQL Server database, or it can be configured to be stored centrally in a
state server within a server farm. By default, a user’s session ends 20 minutes after their last page
request and their data goes out of scope, freeing it from memory.
In case user information is to be tracked by a large website, then a oookie is preferred.Session("UserName") = txtUserName.Text;
Server.Transfer("DestinationPage.aspx");
//DestinationPage.aspx gets the user’s name from Session state
String sString = Session("UserName").ToString();
Cookie - A cookie is a piece of data that is stored on a user's browser. Thus, a cookie does not use any server memory.
What is a server control in ASP.NET?
This is very frequently asked in ASP NET Interviews. A server control in ASP.NET is a control that has the runat="server" attribute. The component
is processed on the server, and its HTML equivalent stream is passed to the browser. Note that
all server controls inherit from the System.Web.UI.Control class. The server side controls
may be dragged to a web page from the standard toolbox. Note that HTML controls are not server
side controls, but they may behave so if the runat="server" attribute is added to their
source.
What is viewstate in ASP.NET?
The viewstate question should be well prepared before any ASP NET Interview.
Viewstate object is used to persist data of variables across postbacks. It even existed in classic ASP. In ASP.NET, a variable's value is assigned to a a viewstate object and then this is passed as a hidden variable and then may be retrieved by a page after a postback. See the example below...
Viewstate object is used to persist data of variables across postbacks. It even existed in classic ASP. In ASP.NET, a variable's value is assigned to a a viewstate object and then this is passed as a hidden variable and then may be retrieved by a page after a postback. See the example below...
//Save the value in ViewState object before the PostBack
ViewState("SomeVar") = txtFirstName.text;
//Retrieve the value from ViewState object after the PostBack
String strFirstName = ViewState("SomeVar").ToString();
Note that Viewstate object's value is accessible only at page level. This means that
if a viewstate is created at page1.aspx, then it may be used only within page1.aspx after
the postback, and cannot be used by any other page.
To know how to pass values from one page to another.ViewState("SomeVar") = txtFirstName.text;
//Retrieve the value from ViewState object after the PostBack
String strFirstName = ViewState("SomeVar").ToString();
How to send an email using ASP.NET? How to use System.Web.Mail?
ASP.NET 2.0 provides the System.Web.Mail class to send a mail. This class
may be used to send a mail using ASP.NET. See code below,
by Ryan Olshan
that explains how to use System.Web.Mail to send a mail using ASP.NET.
'Code in VB.NETImports System.Net.Mail
Public Class MailHelper
''' <summary>
''' Sends a mail message
''' </summary>
''' <param name="from">Sender address</param>
''' <param name="recepient">Recepient address</param>
''' <param name="bcc">Bcc recepient</param>
''' <param name="cc">Cc recepient</param>
''' <param name="subject">Subject of mail message</param>
''' <param name="body">Body of mail message</param>
Public Shared Sub SendMailMessage(ByVal from As String, ByVal recepient As String, ByVal bcc As String, ByVal cc As String , ByVal subject As String, ByVal body As String)
' Instantiate a new instance of MailMessage
Dim mMailMessage As New MailMessage()
' Set the sender address of the mail message
mMailMessage.From = New MailAddress(from)
' Set the recepient address of the mail message
mMailMessage.To.Add(New MailAddress(recepient))
' Check if the bcc value is nothing or an empty string
If Not bcc Is Nothing And bcc <> String.Empty Then
' Set the Bcc address of the mail message
mMailMessage.Bcc.Add(New MailAddress(bcc))
End If
' Check if the cc value is nothing or an empty value
If Not cc Is Nothing And cc <> String.Empty Then
' Set the CC address of the mail message
mMailMessage.CC.Add(New MailAddress(cc))
End If
' Set the subject of the mail message
mMailMessage.Subject = subject
' Set the body of the mail message
mMailMessage.Body = body
' Set the format of the mail message body as HTML
mMailMessage.IsBodyHtml = True
' Set the priority of the mail message to normal
mMailMessage.Priority = MailPriority.Normal
' Instantiate a new instance of SmtpClient
Dim mSmtpClient As New SmtpClient()
' Send the mail message
mSmtpClient.Send(mMailMessage)
End Sub
End Class
Add this in Web.config
<?xml version="1.0"?>
<configuration>
<system.net>
<mailSettings>
<smtp from="defaultEmail@yourdomain.com">
<network host="smtp.yourdomain.com" port="25" userName="yourUserName" password="yourPassword"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
How to store information about a user's locale in ASP.NET? What is localization?
Localization is the feature of ASP.NET through which an application may be localized
for a specific location. There are built-in mechanisms in .NET to allow localization process.
The concept of localization is achieved in .NET as .NET is based on Unicode, thus it
allows multiple characters of regions across the globe to be sent across in applications.
In .NET, the concept of localization is achieved using the System.Globalization namespace. A class named CultureInfo is used to localize .NET objects in the web applications. The functions provided in the globalization namespace work in tandem with the browswer's culture encoding properties. In order to set the culture encoding of a web application, changes may simply be done in the web.config file.
In .NET, the concept of localization is achieved using the System.Globalization namespace. A class named CultureInfo is used to localize .NET objects in the web applications. The functions provided in the globalization namespace work in tandem with the browswer's culture encoding properties. In order to set the culture encoding of a web application, changes may simply be done in the web.config file.
<configuration>
<system.web>
<globalization
requestencoding="utf-8"
responseencoding=" utf-8"
fileencoding=" utf-8"
culture="hi-IN"
uiculture="en" />
</system.web>
</configuration>
<system.web>
<globalization
requestencoding="utf-8"
responseencoding=" utf-8"
fileencoding=" utf-8"
culture="hi-IN"
uiculture="en" />
</system.web>
</configuration>
Here, the default culture is set to Hindi (hi-IN). However, the rest of the
web application will use UTF8 character encoding. The default UI culture is "en"
by default. Now in order to render different locality specific characters
for different locations, different folders with their own Web.config files are
created. Each of this folder will cater to a location. Note that in ASP.NET, a web.config
file is allowed on any folder, this web.config file will override any settings
provided in the web.config of any of its parent folder.
This is how locale specific directories are created for a site. Further note that culture settings may be set at page level as well. This is done using the @Page directive by setting its culture attribute to the desired culture.
This is how locale specific directories are created for a site. Further note that culture settings may be set at page level as well. This is done using the @Page directive by setting its culture attribute to the desired culture.
<%@ Page Culture="hi-IN" UICulture="hi" ResponseEncoding="utf-8"%>
Instances of the CultureInfo class may also be created in code, to set the culture
of a page through code.
How to add an event handler for a server control in ASP.NET?
In an interview, it might be expected of you to write some code snippet as well.
Say we create a server control named btnSubmit. In order to add an event handler to it, see the code below...
'Example in VB.NET
Private Sub btnSubmit_Click() Handles btnSubmit.ClickSay we create a server control named btnSubmit. In order to add an event handler to it, see the code below...
btnSubmit.attribute.add("onclick","javascript:alert('You just added an attribute to the server button control btnSubmit by clicking on it');")
End Sub
What are validation controls in ASP.NET? How do validation controls work? What are validation groups in ASP.NET 2?
An interview in ASP NET can't be really complete without preparing this question.
Validation controls in ASP.NET are server side controls that validate input values client-side. Sounds strange? Well, the best approach to validate any input value is to validate it client-side to avoid any postback and load to the server. This approach is followed to reduce the load on the server.
ASP.NET validation controls greatly improve the perfomance of a web application and may be used by web developers to reduce plenty of code that they used to write previously to validate input values using javascript or vbscript.
Input validations improvise security of a web application, by preventing SQL Injection attacks.
There are 6 validations controls in both ASP.NET 1.1 and ASP.NET 2.0
1) RequiredFieldValidator - as the name suggests, this control makes sure that the input box is not left blank.
2) CompareValidator - This control validates values in two controls, and checks for equality
3) RangeValidator - This validation control makes sure that the value entered in the control falls within a range specified. This specification may be done using its properties.
4) RegularExpression - Based on a regular expression, values entered in an input box must match the ones specified by this control's RegulareExpression property
5) CustomValidator - This type of validator control may be customized & created by a developer as per need
6) ValidationSummary - This control may be used to show the summary of the information gathered using rest of the other validation controls
To use a validation control, set a validation control on a form. Associate it with a server control by using its ControlToValidate property. Note that the server control has a property called CausesValidation and this is set to true for the validation control to trigger. This property is true by default for every server control. The validation control also has an ErrorMessage property that is assigned some text to explain what the error is, in case the validation control is trigerred. The validation control actually calls a client-side script that comes with ASP.NET, and this script does the job of validation for us. All this validation is done client-side.
Suppose we want to use the RequiredFieldValidator control so that a textbox is'nt left blank, for this, see the inline code below...
Validation controls in ASP.NET are server side controls that validate input values client-side. Sounds strange? Well, the best approach to validate any input value is to validate it client-side to avoid any postback and load to the server. This approach is followed to reduce the load on the server.
ASP.NET validation controls greatly improve the perfomance of a web application and may be used by web developers to reduce plenty of code that they used to write previously to validate input values using javascript or vbscript.
Input validations improvise security of a web application, by preventing SQL Injection attacks.
There are 6 validations controls in both ASP.NET 1.1 and ASP.NET 2.0
1) RequiredFieldValidator - as the name suggests, this control makes sure that the input box is not left blank.
2) CompareValidator - This control validates values in two controls, and checks for equality
3) RangeValidator - This validation control makes sure that the value entered in the control falls within a range specified. This specification may be done using its properties.
4) RegularExpression - Based on a regular expression, values entered in an input box must match the ones specified by this control's RegulareExpression property
5) CustomValidator - This type of validator control may be customized & created by a developer as per need
6) ValidationSummary - This control may be used to show the summary of the information gathered using rest of the other validation controls
To use a validation control, set a validation control on a form. Associate it with a server control by using its ControlToValidate property. Note that the server control has a property called CausesValidation and this is set to true for the validation control to trigger. This property is true by default for every server control. The validation control also has an ErrorMessage property that is assigned some text to explain what the error is, in case the validation control is trigerred. The validation control actually calls a client-side script that comes with ASP.NET, and this script does the job of validation for us. All this validation is done client-side.
Suppose we want to use the RequiredFieldValidator control so that a textbox is'nt left blank, for this, see the inline code below...
Code used for RequiredFieldValidator used above
<asp:Button ID="btnGo" runat="server" Text="Go" />
<asp:TextBox ID="txtSomeText" runat="server" Text="" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvTextbox" runat="server" ControlToValidate="txtSomeText"
ErrorMessage="Please Enter Some Text" ></asp:RequiredFieldValidator>
The Page.IsValid property of the page is TRUE only if there are no validation errors returned.
Validation controls are supported by Internet Explorer, Firefox and Opera.
ASP.NET 2.0 provides a method to allow multiple sets of controls that may be grouped together into a validation group. The purpose of this approach makes it easy to invoke validation checks on specific server controls and not all ot them who have an associated validation control.
Validation controls are supported by Internet Explorer, Firefox and Opera.
ASP.NET 2.0 provides a method to allow multiple sets of controls that may be grouped together into a validation group. The purpose of this approach makes it easy to invoke validation checks on specific server controls and not all ot them who have an associated validation control.
What is global.asax in ASP.NET? Application_start, Session_start?
The global.asax concept is the crux of any ASP NET interview. The global.asax file is used to add application level logic & processing. Note that the
global.asax does not handle any UI related processing, nor does it process individual page
level requests. It basically controls the following events...
Application_Start
Application_End
Session_Start
Session_End
Note that in Visual Studio 2003 automatically creates this file for every web application, but in Visual Studio 2005, this file has to be added to the web project specifically.
Code in the global.asax is compiled when the web appication is built for the first time. The application level code and variables may be declared in Application_Start. Similarly, session level code & variables may be declared in Session_Start event. Application level events are for the entire application, and may be used for any user, while Session level events are user specific for a length of a session.
Application_Start
Application_End
Session_Start
Session_End
Note that in Visual Studio 2003 automatically creates this file for every web application, but in Visual Studio 2005, this file has to be added to the web project specifically.
Code in the global.asax is compiled when the web appication is built for the first time. The application level code and variables may be declared in Application_Start. Similarly, session level code & variables may be declared in Session_Start event. Application level events are for the entire application, and may be used for any user, while Session level events are user specific for a length of a session.
What is an HTTP handler in ASP.NET? Can we use it to upload files? What is HttpModule?
An advanced programmer needs to be well prepared with this question in any
interview.
The HttpHandler and HttpModule are used by ASP.NET to handle requests. Whenever the IIS Server recieves a request, it looks for an ISAPI filter that is capable of handling web requests. In ASP.NET, this is done by aspnet_isapi.dll. Same kind of process happens when an ASP.NET page is trigerred. It looks for HttpHandler in the web.config files for any request setting. As in machine.config default setting, the .aspx files are mapped to PageHandlerFactory, and the .asmx files are mapped to the WebServiceHandlerFactory. There are many requests processed by ASP.NET in this cycle, like BeginRequest, AuthenticateRequest, AuthorizeRequest, AcquireRequestState, ResolveRequestCache, Page Constructor, PreRequestHandlerExecute, Page.Init, Page.Load, PostRequestHandlerExecute, ReleaseRequestState, UpdateRequestCache, EndRequest, PreSendRequestHeaders, PreSendRequestContent.
Yes, the HttpHandler may be used to upload files.
HttpModules are components of .NET that implement the System.Web.IHttpModule interface. These components register for some events and are then invoked during the request processing. It implements the Init and the Dispose methods. HttpModules has events like AcquireRequestState, AuthenticateRequest, AuthorizeRequest, BeginRequest, Disposed , EndRequest, Error, PostRequestHandlerExecute, PreRequestHandlerExecute, PreSendRequestHeaders, ReleaseRequestState, ResolveRequestCache, UpdateRequestCache
The HttpHandler and HttpModule are used by ASP.NET to handle requests. Whenever the IIS Server recieves a request, it looks for an ISAPI filter that is capable of handling web requests. In ASP.NET, this is done by aspnet_isapi.dll. Same kind of process happens when an ASP.NET page is trigerred. It looks for HttpHandler in the web.config files for any request setting. As in machine.config default setting, the .aspx files are mapped to PageHandlerFactory, and the .asmx files are mapped to the WebServiceHandlerFactory. There are many requests processed by ASP.NET in this cycle, like BeginRequest, AuthenticateRequest, AuthorizeRequest, AcquireRequestState, ResolveRequestCache, Page Constructor, PreRequestHandlerExecute, Page.Init, Page.Load, PostRequestHandlerExecute, ReleaseRequestState, UpdateRequestCache, EndRequest, PreSendRequestHeaders, PreSendRequestContent.
Yes, the HttpHandler may be used to upload files.
HttpModules are components of .NET that implement the System.Web.IHttpModule interface. These components register for some events and are then invoked during the request processing. It implements the Init and the Dispose methods. HttpModules has events like AcquireRequestState, AuthenticateRequest, AuthorizeRequest, BeginRequest, Disposed , EndRequest, Error, PostRequestHandlerExecute, PreRequestHandlerExecute, PreSendRequestHeaders, ReleaseRequestState, ResolveRequestCache, UpdateRequestCache
What is a session in ASP.NET? Different ways to maintain session?
The most common used object, due to its usefulness is the Session object, and hence, it is a must-know
in any interview related to ASP NET or web based programming.
Session - The session object is used to store the data specific to a user for the entire length of a user's visit to a website. Below is a code that shows usage of the session object in ASP.NET ...
//InitialPage.aspx stores the user’s credentials in Session stateSession - The session object is used to store the data specific to a user for the entire length of a user's visit to a website. Below is a code that shows usage of the session object in ASP.NET ...
Session("UserName") = txtUserName.Text;
Server.Transfer("DestinationPage.aspx");
//DestinationPage.aspx gets the user’s name from Session state
String sString = Session("UserName").ToString();
What is the @Register directive used for? What is the purpose of @Register directive in ASP.NET?
How to create Web User Controls in ASP.NET?
Good developers must know the Register and User Control concept before any interview in ASP NET.
Directives in ASP.NET are used to set attributes for a page. The @Register directive is a directive used to register user defined controls on a web page. A user created server control has an ascx extenstion. These controls inherit from the namespace System.Web.UI.UserControl. This namespace inherits from the System.Web.UI.Control.
A user control may be embedded in an aspx web page using the @Register directive. A user control cannot be executed on its own independently, but may be registered on a web page and then used out there. Below is the syntax for registering an @register directive in an aspx page in ASP.NET
Directives in ASP.NET are used to set attributes for a page. The @Register directive is a directive used to register user defined controls on a web page. A user created server control has an ascx extenstion. These controls inherit from the namespace System.Web.UI.UserControl. This namespace inherits from the System.Web.UI.Control.
A user control may be embedded in an aspx web page using the @Register directive. A user control cannot be executed on its own independently, but may be registered on a web page and then used out there. Below is the syntax for registering an @register directive in an aspx page in ASP.NET
<%@ Register TagPrefix="UC1" TagName="UserControl1" Src="UserControl1.ascx" %>
The TagPrefix attributes is used to specify a unique namespace for the user control. The
TagName is a name used to refer a user control uniquely by its name. Say we want to use this
control in a webpage, we may use the code below...
<UC1:UserControl1 runat="server"/>
What is a cookie? Limitations of cookie? Permanent cookie?
The cookie object is the essence of any interview, be it ASP NET interview or Java interview or PHP
interview.
Cookie - A cookie is a piece of data that is stored on a user's browser. Thus, a cookie does not use any server memory. It is actually a small text file which is created by the broswer on the hard disk of the user. It is actually a piece of information in the form of text strings. A web server sends a cookie to a user (client browser) and then the browser stores it.
A cookie is used to store information of a user & information about a user's preferences. How does the cookie works? - When a user visits a site, say www.amazon.com, and creates a profile out there, the server sends an ID (basically an ID to track this user) and saves the ID through the user's browser in the form of a cookie on the user's system. When the user revisits this site, the website tracks the user's system for the existence of any cookie, and in case it finds a cookie, it customizes the site based on the user's settings and preferences.
Now lets talk about how to create a cookie in ASP.NET. It is pretty simple. There is a class in the System.Web namespace by the name HttpCookie. This class may be used to easily create a cookie on the user's system. Below is a code sample on how to use a cookie in ASP.NET ...
Cookie - A cookie is a piece of data that is stored on a user's browser. Thus, a cookie does not use any server memory. It is actually a small text file which is created by the broswer on the hard disk of the user. It is actually a piece of information in the form of text strings. A web server sends a cookie to a user (client browser) and then the browser stores it.
A cookie is used to store information of a user & information about a user's preferences. How does the cookie works? - When a user visits a site, say www.amazon.com, and creates a profile out there, the server sends an ID (basically an ID to track this user) and saves the ID through the user's browser in the form of a cookie on the user's system. When the user revisits this site, the website tracks the user's system for the existence of any cookie, and in case it finds a cookie, it customizes the site based on the user's settings and preferences.
Now lets talk about how to create a cookie in ASP.NET. It is pretty simple. There is a class in the System.Web namespace by the name HttpCookie. This class may be used to easily create a cookie on the user's system. Below is a code sample on how to use a cookie in ASP.NET ...
//Creating a cookie
HttpCookie sampleCookie = new HttpCookie("UserColorSetting");
sampleCookie.Values.Add("Background", txtBackgroundColor.Text);
sampleCookie.Expires = #12/31/2010#; Response.Cookies.Add(sampleCookie);
//Getting a cookie value from the user's computer
String sGetCookie;
sGetCookie = Request.Cookies("UserColorSetting")("Background").ToString();
sampleCookie.Values.Add("Background", txtBackgroundColor.Text);
sampleCookie.Expires = #12/31/2010#; Response.Cookies.Add(sampleCookie);
//Getting a cookie value from the user's computer
String sGetCookie;
sGetCookie = Request.Cookies("UserColorSetting")("Background").ToString();
Limitations of Cookies - Cookies are meant for infrequent storage of small pieces of information. They
are not meant as a normal communication or mechanism. Note that web
browsers are not required to save more than 300 cookies total, nor more than 20 cookies per web server
(for the entire server, not just for the page or site on the server), nor to retain more than 4 kilobytes
of data per cookie (both name and value count towards this 4 kilobyte limit). The biggest limitation of these
is the 20 cookies per server limit, and so it is not a good idea to use a different cookie for each variable
that has to be saved. Rather save a single cookie containing a lot of information.
How to implement a web farm and a web garden? Whats a web farm and a web garden in ASP.NET?
What is the difference between a web farm and web garden in ASP.NET?
An ASP NET interview can't be really complete without the web farm question.So what is a web farm. A Web Farm is a setup of a website across multiple servers.
A Web Garden is a setup of a website on a single server with multiple processors. To set a a multi-server web application in ASP.NET
Can dataset be stored in a viewstate?
This can be a tricky question in interviews.Yes, a dataset may be stored in a viewstate. However, a viewstate is passed to the server as a hidden variable. Precaution should be taken that the dataset size is not too big, otherwise such an activity will take a toll on both the client and server system resources, and ultimately slow down rendering of the data on the client system. Also note that the viewstate data may not be sent to another aspx page, as thats a limitation of a viewstate object.
How to set view state for a server control? Enableviewstate property?
This is a popular interview question. The enableviewstate property of a server control indicates whether the server control
persists its viewstate. It also controls the viewstate behavior of the child controls within it.
So what is Viewstate? - Viewstate is the property of a server control that groups all the other property values of the control, so that the entire set of property values is preserved across multiple HTTP requests. The enableviewstate property when set to true, makes the viewstate property persist all the other property values.
How does viewstate work? - The viewstate values are passed as an HTML hidden input element when HTTP requests are invoked. To see how a viewstate variable's value looks like, right click any aspx page and click view source, you will find something like this...
So what is Viewstate? - Viewstate is the property of a server control that groups all the other property values of the control, so that the entire set of property values is preserved across multiple HTTP requests. The enableviewstate property when set to true, makes the viewstate property persist all the other property values.
How does viewstate work? - The viewstate values are passed as an HTML hidden input element when HTTP requests are invoked. To see how a viewstate variable's value looks like, right click any aspx page and click view source, you will find something like this...
type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEw.. .. .. .. 2FzcF9hc3AubmV0LmFzcHgfB=="
An instance of the StateBag class is created to store the property values.
There are scenarios when a Viewstate is set to false. For example, say a database request is loaded to a server control, then the size of the database values may be humongous, for which the Viewstate is set to false.
There are scenarios when a Viewstate is set to false. For example, say a database request is loaded to a server control, then the size of the database values may be humongous, for which the Viewstate is set to false.
Example of setting viewstate of a server control ...
<asp:TextBox id="txtName" runat="server" text="" enableviewstate="true" >
<asp:TextBox id="txtName" runat="server" text="" enableviewstate="true" >
What is smart navigation?
Before explaining what smart navigation is, let me point out that Smart Navigation is obsolete in .NET 2.0. It
works with 1.1 & versions before it. The SetFocus and MaintainScrollPositionOnPostBack are used instead
Smart Navigation basically enhances a web pages' performance by doing the following:
* It eliminates the flash caused during navigation
* It persists element focus during postbacks
* It persists scroll position during postbacks between pages
* It retains the lasts page information in the history of the browser
I suggest not to use SmartNavigation because it does not work with many browsers.
Smart Navigation basically enhances a web pages' performance by doing the following:
* It eliminates the flash caused during navigation
* It persists element focus during postbacks
* It persists scroll position during postbacks between pages
* It retains the lasts page information in the history of the browser
I suggest not to use SmartNavigation because it does not work with many browsers.
No comments:
Post a Comment