Home / Software / Interview Center / ASP.Net

Interview Questions for ASP.Net

We do not guarantee the correctness of all answers. It is user’s responsibility to make sure that the answers are right. Good luck.

1. Describe the role of inetinfo.exe, aspnet_isapi.dll and aspnet_wp.exe in the page loading process.

    inetinfo.exe is the Microsoft IIS server running, handling ASP.NET requests among with other things.
When an ASP.NET request is received (usually a file with .aspx extension), the ISAPI filter aspnet_isapi.dll takes care of it by passing the request to the actual worker process aspnet_wp.exe.

2. What’s the difference between Response.Write() and Response.Output.Write()?

    Response.Output.Write() allows you to write formatted output.

3. What methods are fired during the page load?

    1. PreInit()- In this Page level event, all controls created during design time are initialized with their default values.
Init() - when the page is instantiated. In this event, we can read the controls properties (set at design time).
LoadViewState- This will only fire if the Page has posted back (IsPostBack == true). Here the runtime de-serializes the view state data from the hidden form element and loads all controls who have view state enabled.
LoadPostBackData: In this event the controls which implement IPostBackDataHandler interface gets loaded by the values from the HTTP POST data.
Control Event Handlers-
Load() - when the page is loaded into server memory
PreRender() - the brief moment before the page is displayed to the user as HTML
Unload() - when page finishes loading.

4. When during the page processing cycle is ViewState available?

    After the Init() and before the Page_Load(), or OnLoad() for a control.

5. What namespace does the Web page belong in the .NET Framework class hierarchy?


6. Where do you store the information about the user’s locale?


7. What’s the difference between Codebehind="MyCode.aspx.cs" and Src="MyCode.aspx.cs"?

    CodeBehind is relevant to Visual Studio.NET only.

8. What’s a bubbled event?

    When you have a complex control, like DataGrid, writing an event processing routine for each object (cell, button, row, etc.) is quite tedious. The controls can bubble up their eventhandlers, allowing the main DataGrid event handler to take care of its constituents.

9. Suppose you want a certain ASP.NET function executed on MouseOver for a certain button. Where do you add an event handler?

    Add an OnMouseOver attribute to the button.

10. What data types do the RangeValidator control support?

    Integer, String, and Date.

11. Explain the differences between Server-side and Client-side code?

    Server-side code executes on the server. Client-side code executes in the client's browser.

12. What type of code (server or client) is found in a Code-Behind class?

    Server-side code since code-behind is executed on the server. However, during the code-behind's execution on the server, it can render client-side code such as JavaScript to be processed in the clients browser. But just to be clear, code-behind executes on the server, thus making it server-side code.

13. Should user input data validation occur server-side or client-side? Why?

    All user input data validation should occur on the server at a minimum. Additionally, client-side validation can be performed. The client side validation is fast, cofortable for the user and reduce server overhead.

14. What is the difference between Server.Transfer and Response.Redirect? Why would I choose one over the other?

    Server.Transfer transfers page processing from one page directly to the next page without making a round-trip back to the client's browser. This provides a faster response with a little less overhead on the server. Server.Transfer does not update the clients url history list or current url. Response.Redirect is used to redirect the user's browser to another page or site. This performas a trip back to the client where the client's browser is redirected to the new page. The user's browser history list is updated to reflect the new address.

15. Can you explain the difference between an ADO.NET Dataset and an ADO Recordset?


  • A DataSet can represent an entire relational database in memory, complete with tables, relations, and views.
  • A DataSet is designed to work without any continuing connection to the original data source.
  • Data in a DataSet is bulk-loaded, rather than being loaded on demand.
  • There's no concept of cursor types in a DataSet.
  • DataSets have no current record pointer You can use For Each loops to move through the data.
  • You can store many edits in a DataSet, and write them to the original data source in a single operation.
  • Though the DataSet is universal, other objects in ADO.NET come in different versions for different data sources.

  • 16. What is the Global.asax used for?

        The Global.asax (including the Global.asax.cs file) is used to implement serverl events.

    17. What are the Application_Start and Session_Start subroutines used for?

        This is where you can set the specific variables for the Application and Session objects.

    18. Describe the difference between inline and code behind.

        Inline code written along side the html in a page. Code-behind is code written in a separate file and referenced by the .aspx page.

    19. Explain what a diffgram is, and a good use for one?

        The DiffGram is one of the two XML formats that you can use to render DataSet object contents to XML.

    20. Whats MSIL?

        MSIL is the Microsoft Intermediate Language. All .NET compatible languages will get converted to MSIL. MSIL also allows the .NET Framework to JIT compile the assembly on the installed computer.

    21. Which method do you invoke on the DataAdapter control to load your generated dataset with data?

        The" Fill()" method.

    22. Can you edit data in the Repeater control?


    23. Which template must you provide, in order to display data in a Repeater control?


    24. How can you provide an alternating color scheme in a Repeater control?

        Use the AlternatingItemTemplate.

    25. What property must you set, and what method must you call in your code, in order to bind the data from a data source to the Repeater control?

        You must set the DataSource property and call the DataBind method.

    26. What base class do all Web Forms inherit from?

        The Page class.

    27. Name two properties common in every validation control?

        ControlToValidate property and Text property.

    28. Which property on a Combo Box do you set with a column name, prior to setting the DataSource, to display data in the combo box?

        DataTextField property.

    29. Which control would you use if you needed to make sure the values in two different controls matched?

        CompareValidator control.

    30. How many classes can a single .NET DLL contain?

        Any number of classess.

    31. What is the transport protocol you use to call a Web service?

        SOAP (Simple Object Access Protocol) is the preferred protocol.

    32. What does WSDL stand for?

        Web Services Description Language.

    33. What is ViewState?

        ViewState allows the state of objects (serializable) to be stored in a hidden field on the page. ViewState is transported to the client and back to the server, and is not stored on the server or any other external source. ViewState is used the retain the state of server-side objects between postabacks.

    34. What is the lifespan for items stored in ViewState?

        Item stored in ViewState exist for the life of the current page. This includes postbacks (to the same page).

    35. What does the "EnableViewState" property do? Why would I want it on or off?

        It allows the page to save the users input on a form across postbacks. It saves the server-side values for a given control into ViewState, which is stored as a hidden value on the page before sending the page to the clients browser. When the page is posted back to the server the server control is recreated with the state stored in viewstate.

    36. What are the different types of Session state management options available with ASP.NET?

        ASP.NET provides In-Process and Out-of-Process state management. In-Process stores the session in memory on the web server. This requires the a "sticky-server" (or no load-balancing) so that the user is always reconnected to the same web server. Out-of-Process Session state management stores data in an external data source. The external data source may be either a SQL Server or a State Server service. Out-of-Process state management requires that all objects stored in session are serializable.

    37. What is the attribute "TagPrefix" when we are registering a CONTROL ?

        Alias to associate with the usercontrols namespace.

    38. What are the diffrence between "Page_load" in ASP.NET page and ASP.NET control?


    39. How can you load a control programatically?

        Using "LoadControl()" method of the Page.

    40. Which class is used to derive custom controls?


    41. Whic is the namespace for Random class?


    42. when a "code behind" will compail?

        Immediatly after the request for the page contain the class in the code behind called.

    43. which is the base class for code behind class?


    44. What is the role of the DataReader class in ADO.NET connections?

        It returns a read-only, forward-only rowset from the data source. A DataReader provides fast access when a forward-only sequential read is needed.

    45. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?

        SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix. OLE-DB.NET is a .NET layer on top of the OLE layer, so it’s not as fastest and efficient as SqlServer.NET.

    46. Explain ACID rule of thumb for transactions.

        A transaction must be: 1. Atomic - it is one unit of work and does not dependent on previous and following transactions.
    2. Consistent - data is either committed or roll back, no “in-between” case where something has been updated and something hasn’t.
    3. Isolated - no transaction sees the intermediate results of the current transaction).
    4. Durable - the values persist if the data had been committed even if the system crashes right after.

    47. What connections does Microsoft SQL Server support?

        Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and password).

    48. Between Windows Authentication and SQL Server Authentication, which one is trusted and which one is untrusted?

        Windows Authentication is trusted because the username and password are checked with the Active Directory, the SQL Server authentication is untrusted, since SQL Server is the only verifier participating in the transaction.

    49. What does the Initial Catalog parameter define in the connection string?

        The database name to connect to.

    50. What is a pre-requisite for connection pooling?

        Multiple processes must agree that they will share the same connection, where every parameter is the same, including the security settings. The connection string must be identical. Explicitly close connection with the "Close()'.

    51. Which is the class contain the class forconnecting to MS SQLSERVER


    52. What is the use of SqlCommand class?

        SqlCommand represent SQL statement or stored procedure.

    53. What is SqlDataReader?

        It contains the results from a database query.

    54. what is "Connect_TimeOut" in Connection string of a SqlConnection means?

        Number of seconds befire the connection timeout.

    55. What is "Databind()" method?

        The process of dyanamically assigning a value to a property of a control at run time is called data binding.

    56. What wiil happen if we called Databind() without specifying the control ?

        Since ASP.NET page is also a control, the page's Databind() method is called and all databinding expression in the page(including all child control's) is evaluated.

    57. Which property of a DropDownList Control can be ued to asssign the value from a DataSource ?


    58. When the event "ItemDataBound" is rised in a Repeter Control?

        ItemDataBound event is rised when each item retrived from the DataSource. So if the Datasource contains 10 item this event is rised 10 times.

    59. Which are the standard ASP.NET Framework controls suport "event bubbling" ?

        Repeater, DataList and DataGrid controls.

    60. What is "event bubbling" ASP.NET Controls?

        The mechanism of capturing events from the child controls by the container control is called event bubbling.
    When an event is rised in a child control, the event "bubbles up" to the containing control and then the containing control can execute the subroutne to handle the event.

    61. Which ASP.NET Control suport "SelectedItemTemplate" and EditItemTemplate?

        "DataList" Control.

    62. Which Control dosen't suport "AlternatingItem" Template?

        "DataGrid" Control.

    63. Which ASP.NET control suport sorting and paging?

        "DataGrid" Control.

    64. What is the main disadvantage of DataGrid control's bult in page suport aganist the performance?

        Whe we use the method of paging thrugh records all the records must be retrived from the datasource every time we navigate to the new page.

    65. Which is the default object in a ASP.net application?


    66. Which are the two events related to "Session"?

        Session_Start() and Session_End()

    If, for any reason the server crashes you lose all the data stored in session state.


    68. What is Global Assembly Cache in .Net frame work?

        The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer.

    69. Which is the default account for ASP.net in windows user account?


    70. what is Friend Assemblies?

        The friend assemblies feature allows you to access internal members in an assembly from another assembly.

    71. How to add a component to Global Assembly Cache?

        Basically adding a assemblies to GAC has four steps

  • Create a Strong name
  • Compile the assembly using the strong name
  • Place the assembly into GAC directory. (For windows XP it is windows/assembly.
  • Add an entry in web.config in assembly section.

  • 72. What is the diffrence between user controls and server controls?

        ASP.NET control (sometimes called a server control) is a server-side component that is shipped with .NET Framework. A server control is a compiled DLL file and cannot be edited. It can, however, be manipulated through its public properties at design-time or runtime.
    User controls is also called Custom Control or composite control. A user control will consist of previously built server controls (called constituent controls when used within a user control). It has an interface that can be completely edited and changed. It can be manipulated at design-time and runtime via properties that you are responsible for creating. While there will be a multitude of controls for every possible function built by third-party vendors for ASP.NET, they will exist in the form of compiled server controls, as mentioned above.