0% found this document useful (0 votes)
53 views22 pages

MVC Intv Quest - Collection

The document discusses ASP.NET MVC interview questions and answers. It covers topics like MVC components, routing, controllers, views, validation and authentication.

Uploaded by

nitu_mca2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views22 pages

MVC Intv Quest - Collection

The document discusses ASP.NET MVC interview questions and answers. It covers topics like MVC components, routing, controllers, views, validation and authentication.

Uploaded by

nitu_mca2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

https://sites.google.

com/site/interviewsharing/mvc/mvc-interview-questions-answers

MVC Interview Questions/Answers


What are the 3 main components of an ASP.NET MVC application?
1. M - Model
2. V - View
3. C - Controller

In which assembly is the MVC framework defined?


System.Web.Mvc

Is it possible to combine ASP.NET webforms and ASP.MVC and develop a sing


Yes, it is possible to combine ASP.NET webforms and ASP.MVC and develop a single w

What does Model, View and Controller represent in an MVC application?


Model: Model represents the application data domain. In short the applications busine
model.

View: Views represent the user interface, with which the end users interact. In short t
contained with in the UI.

Controller: Controller is the component that responds to user actions. Based on the u
controller, work with the model, and selects a view to render that displays the user in
contained with in the controller.

What is the greatest advantage of using asp.net mvc over asp.net webforms?
It is difficult to unit test UI with webforms, where views in mvc can be very easily uni

Which approach provides better support for test driven development - ASP.N
ASP.NET MVC

What are the advantages of ASP.NET MVC?


1. Extensive support for TDD. With asp.net MVC, views can also be very easily unit te
2. Complex applications can be easily managed
3. Seperation of concerns. Different aspects of the application can be divided into Mod
4. ASP.NET MVC views are light weight, as they donot use viewstate.

Is it possible to unit test an MVC application without running the controllers


Yes, all the features in an asp.net MVC application are interface based and hence moc
have to run the controllers in an ASP.NET process for unit testing.

Is it possible to share a view across multiple controllers?


Yes, put the view into the shared folder. This will automatically make the view availab

What is the role of a controller in an MVC application?


The controller responds to user interactions, with the application, by selecting the act
selecting the view to render.

Where are the routing rules defined in an asp.net MVC application?


In Application_Start event in Global.asax

Name a few different return types of a controller action method?


The following are just a few return types of a controller action method. In general an
instance of a any class that derives from ActionResult class.
1. ViewResult
2. JavaScriptResult
3. RedirectResult
4. ContentResult
5. JsonResult

What is the significance of NonActionAttribute?


In general, all public methods of a controller class are treated as action methods. If y
behaviour, just decorate the public method with NonActionAttribute.

What is the significance of ASP.NET routing?


ASP.NET MVC uses ASP.NET routing, to map incoming browser requests to controller
makes use of route table. Route table is created when your web application first start
Global.asax file.

What are the 3 segments of the default route, that is present in an ASP.NET M
1st Segment - Controller Name
2nd Segment - Action Method Name
3rd Segment - Parameter that is passed to the action method

Example: http://pragimtech.com/Customer/Details/5
Controller Name = Customer
Action Method Name = Details
Parameter Id = 5

ASP.NET MVC application, makes use of settings at 2 places for routing to wo


places?
1. Web.Config File : ASP.NET routing has to be enabled here.
2. Global.asax File : The Route table is created in the application Start event handler,

What is the adavantage of using ASP.NET routing?


In an ASP.NET web application that does not make use of routing, an incoming brows
physical file. If the file does not exist, we get page not found error.

An ASP.NET web application that does make use of routing, makes use of URLs that d
in a Web site. Because the URL does not have to map to a file, you can use URLs that
and therefore are more easily understood by users.
What are the 3 things that are needed to specify a route?
1. URL Pattern - You can include placeholders in a URL pattern so that variable data
handler without requiring a query string.
2. Handler - The handler can be a physical file such as an .aspx file or a controller cl
3. Name for the Route - Name is optional.

Is the following route definition a valid route definition?


{controller}{action}/{id}
No, the above definition is not a valid route definition, because there is no literal valu
placeholders. Therefore, routing cannot determine where to separate the value for the
value for the action placeholder.

What is the use of the following default route?


{resource}.axd/{*pathInfo}
This route definition, prevent requests for the Web resource files such as WebResourc
being passed to a controller.

What is the difference between adding routes, to a webforms application and


To add routes to a webforms application, we use MapPageRoute() method of the Rout
routes to an MVC application we use MapRoute() method.

How do you handle variable number of segments in a route definition?


Use a route with a catch-all parameter. An example is shown below. * is referred to a
controller/{action}/{*parametervalues}

What are the 2 ways of adding constraints to a route?


1. Use regular expressions
2. Use an object that implements IRouteConstraint interface

Give 2 examples for scenarios when routing is not applied?


1. A Physical File is Found that Matches the URL Pattern - This default behaviou
RouteExistingFiles property of the RouteCollection object to true.
2. Routing Is Explicitly Disabled for a URL Pattern - Use the RouteCollection.Ign
from handling certain requests.

What is the use of action filters in an MVC application?


Action Filters allow us to add pre-action and post-action behavior to controller action

If I have multiple filters impleted, what is the order in which these filters get
1. Authorization filters
2. Action filters
3. Response filters
4. Exception filters

What are the different types of filters, in an asp.net mvc application?


1. Authorization filters
2. Action filters
3. Result filters
4. Exception filters

Give an example for Authorization filters in an asp.net mvc application?


1. RequireHttpsAttribute
2. AuthorizeAttribute

Which filter executes first in an asp.net mvc application?


Authorization filter

What are the levels at which filters can be applied in an asp.net mvc applicat
1. Action Method
2. Controller
3. Application
[b]Is it possible to create a custom filter?[/b]
Yes

What filters are executed in the end?


Exception Filters

Is it possible to cancel filter execution?


Yes

What type of filter does OutputCacheAttribute class represents?


Result Filter

What are the 2 popular asp.net mvc view engines?


1. Razor
2. .aspx

What symbol would you use to denote, the start of a code block in razor view
@

What symbol would you use to denote, the start of a code block in aspx view
<%= %>

In razor syntax, what is the escape sequence character for @ symbol?


The escape sequence character for @ symbol, is another @ symbol

When using razor views, do you have to take any special steps to proctect yo
from cross site scripting (XSS) attacks?
No, by default content emitted using a @ block is automatically HTML encoded to prot
attacks.
When using aspx view engine, to have a consistent look and feel, across all p
make use of asp.net master pages. What is asp.net master pages equivalent,
To have a consistent look and feel when using razor views, we can make use of layou
the shared folder, and are named as _Layout.cshtml

What are sections?


Layout pages, can define sections, which can then be overriden by specific views mak
overriding sections is optional.

What are the file extensions for razor views?


1. .cshtml - If the programming lanugaue is C#
2. .vbhtml - If the programming lanugaue is VB

How do you specify comments using razor syntax?


Razor syntax makes use of @* to indicate the begining of a comment and *@ to indic
below.
@* This is a Comment *@

https://blog.interviewmocha.com/asp-net-mvc-interview-questions-for-experienced/

ASP.NET MVC Interview Questions


1. You need to implement the business requirements for managing customer data. What
are all possible things you will do?

2. How can we use two (multiple) models with a single view?

3. What is CSRF attack and how can we prevent the same in MVC?

4. Explain the methods used to render the views in ASP.Net MVC

5. How to use Jquery Plugins in MVC validation?

6. Can we add constraints to the route? If yes, explain how we can do it?

7. What is the use of web API? Why Web API needed, if you have already RESTful services
using WCF?

8. You are developing as ASP.NET MVC application. You need to authenticate clients by using
NT LAN Manager. Which authentication method you will implement?

9. Which validation provider is installed by default in ASP.NET MVC 3 framework, which


provides client validation support for the built-in numeric data types such as int, decimal,
and float etc?

10. You have created a Microsoft ASP.NET application by using the Microsoft .NET
framework version 3.5. You plan to monitor the execution of the application at daily
intervals. You need to modify the application configuration to enable WebEvent monitoring.
What will you do?

11. How can you create a Scaffold template in MVC?


12. Could you explain the difference between similar frameworks A and B? (good example:
ASP.NET MVC and Web Forms)

13. Can you remove default View Engine in ASP.NET MVC? How?

14. You create a Microsoft ASP.NET application by using the Microsoft .NET Framework
version 3.5. You write the following code fragment.

<asp:ListBox SelectionMode=”Multiple” ID=”ListBox1” runat=”server”> </asp:ListBox>

<asp:ListBox ID=”ListBox1” runat=”server”> </asp:ListBox>

<asp:Button ID= “Button1” runat=”server” Text = “Button” onclick=”Button1_Click”/>

You need to ensure that when you click the Button1 control, a selected list of items moves
from the ListBox1 control to the ListBox2 control. What will you do?

15. What are different ways of rendering layout in ASP.NET MVC?

16. How to apply Server side validation is ASP.NET MVC?

17. Can we use Bundling and Minification in ASP.NET MVC3 or ASP.NET 4.0?

18. You are modifying as ASP.NET MVC web application for a client. The client requires that
the application must be viewable on Android devices in a UI format native to the device.
What will you do?

19. You create a Microsoft ASP.NET application by using the Microsoft .NET Framework
version 3.5. All the content pages in the application use a single master. The master page
uses a static navigation menu to browse the site. You need to ensure that the content pages
can optionally replace the static navigation menu with their own menu controls. What will
you do?

Apart from these technical questions, ask these following general questions to find out
more about candidates ASP.NET MVC skills

20. What was the most interesting project you have participated in? Can you describe it and
tell why you consider it to be so interesting?

21. Do you like to participate in the analysis, design and deployment phases of IT project or
do you prefer to concentrate on the pure development of well-described task? Why?

22. I have noticed you listed Skill X on your CV. What’s your opinion about it?

23. Do you remember any programming project decision you made that was a failure? Why
do you think it was a mistake? Why did it happen? What did you learn from this experience?

Screening is not just looking through the candidate’s CV and calling him for the interview.
You don’t want to lose a candidate with potential and good programming skills. You don’t
want to qualify poor candidates for an interview with your IT team and waste your and
team’s precious time.

ASP.NET MVC INTERVIEW QUESTIONS


https://www.tutorialspoint.com/mvc_framework/mvc_framework_interview_questions.htm

Breifly explain us what is ASP.Net MVC?


ASP.Net MVC is a pattern which is used to split the application's implementation
logic into three components i.e. models, views, and controllers.

Tell us something about Model, view and Controllers in Asp.Net MVC?


Model : It is basically a business entity which is used to represent the application
data. Controller : The Request which is sent by the user always scatters through
controller and it's responsibility is to redirect to the specific view using
View method. View : it's the presentation layer of ASP.Net MVC.
Do you know about the new features in ASP.Net MVC
4 ASP.NetMVC4ASP.NetMVC4?

Following are features added newly : Mobile templates Added ASP.NET Web API
template for creating REST based services. Asynchronous controller task support.
Bundling of the java scripts. Segregating the configs for ASP.Net MVC routing,
Web API, Bundle etc.

How does the 'page lifecycle' of ASP.Net MVC works?

Below are the processed followed in the sequence -

 App initializWhat is Separation of Concerns in ASP.NET ASP.Net MVCation


 Routing
 Instantiate and execute controller
 Locate and invoke controller action
 Instantiate and render view.
Explain the advantages of ASP.Net MVC over ASP.NET?
 Provides a clean separation of concerns among
UI PresentationlayerPresentationlayer,
model Transferobjects/DomainObjects/EntitiesTransferobjects/DomainObjects/
Entities and Business Logic ControllerController.

 Easy to UNIT Test.


 Improved reusability of model and views. We can have multiple views
which can point to the same model and vice versa.
 Improved structuring of the code.
What is Separation of Concerns in ASP.NET ASP.Net MVC?
It is the process of breaking the program into various distinct features which
overlaps in functionality as little as possible. ASP.Net MVC pattern concerns on
separating the content from presentation and data-processing from content.

What is Razor View Engine?

Razor is the first major update to render HTML in ASP.Net MVC 3. Razor was
designed specifically for view engine syntax. Main focus of this would be to
simplify and code-focused templating for HTML generation. Below is the sample
of using Razor:

@model ASP.Net MVCMusicStore.Models.Customer


@{ViewBag.Title = "Get Customers";}
< div class="cust"> <h3><em>@Model.CustomerName</<em> </<h3><div>

What is the meaning of Unobtrusive JavaScript? Explain us by any practical


example.
This is a general term that conveys a general philosophy, similar to the term
REST RepresentationalStateTransferRepresentationalStateTransfer. Unobtrusive
JavaScript doesn't inter mix JavaScript code in your page markup. Eg : Instead of
using events like onclick and onsubmit, the unobtrusive JavaScript attaches to
elements by their ID or class based on the HTML5 data- attributes.
What is the use of View Model in ASP.Net MVC?

View Model is a plain class with properties, which is used to bind it to strongly
typed view. View Model can have the validation rules defined for its properties
using data annotations.

What you mean by Routing in ASP.Net MVC?

Routing is a pattern matching mechanism of incoming requests to the URL


patterns which are registered in route table. Class : "UrlRoutingModule" is used for
the same process.

What are Actions in ASP.Net MVC?


Actions are the methods in Controller class which is responsible for returning the
view or json data. Action will mainly have return type : "ActionResult" and it will
be invoked from method : "InvokeAction" called by controller.
What is Attribute Routing in ASP.Net MVC?

ASP.NET Web API supports this type routing. This is introduced in ASP.Net
MVC5. In this type of routing, attributes are being used to define the routes. This
type of routing gives more control over classic URI Routing. Attribute Routing can
be defined at controller level or at Action level like :

[Route("{action = TestCategoryList}")] - Controller Level


[Route("customers/{TestCategoryId:int:min(10)}")] - Action Level

How to enable Attribute Routing?


Just add @Model.CustomerName the method : "MapASP.Net
MVCAttributeRoutes" to enable attribute routing as shown below:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//enabling attribute routing
routes.MapASP.Net MVCAttributeRoutes();
//convention-based routing
routes.MapRoute
(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Customer", action =
"GetCustomerList", id = UrlParameter.Optional }
);
}

Explain JSON Binding?


JavaScript Object Notation JSONJSON binding support started from ASP.Net
MVC3 onwards via the new JsonValueProviderFactory, which allows the action
methods to accept and model-bind data in JSON format. This is useful in Ajax
scenarios like client templates and data binding that need to post data back to the
server.
Explain Dependency Resolution?

Dependency Resolver again has been introduced in ASP.Net MVC3 and it is


greatly simplified the use of dependency injection in your applications. This turn to
be easier and useful for decoupling the application components and making them
easier to test and more configurable.

Explain Bundle.Config in ASP.Net MVC4?


"BundleConfig.cs" in ASP.Net MVC4 is used to register the bundles by the
bundling and minification system. Many bundles are added by default including
jQuery libraries like - jquery.validate, Modernizr, and default CSS references.

How route table has been created in ASP.NET ASP.Net MVC?


Method : "RegisterRoutes" is used for registering the routes which will be added in
"Application_Start" method of global.asax file, which is fired when the application
is loaded or started.
Which are the important namespaces used in ASP.Net MVC?

Below are the important namespaces used in ASP.Net MVC -

 System.Web.ASP.Net MVC
 System.Web.ASP.Net MVC.Ajax
 System.Web.ASP.Net MVC.Html
 System.Web.ASP.Net MVC.Async
What is ViewData?

Viewdata contains the key, value pairs as dictionary and this is derived from class :
"ViewDataDictionary". In action method we are setting the value for viewdata and
in view the value will be fetched by typecasting.

What is the difference between ViewBag and ViewData in ASP.Net MVC?

ViewBag is a wrapper around ViewData, which allows to create dynamic


properties. Advantage of viewbag over viewdata will be : In ViewBag no need to
typecast the objects as in ViewData. ViewBag will take advantage of dynamic
keyword which is introduced in version 4.0. But before using ViewBag we have to
keep in mind that ViewBag is slower than ViewData.

Explain TempData in ASP.Net MVC?

TempData is again a key, value pair as ViewData. This is derived from


"TempDataDictionary" class. TempData is used when the data is to be used in two
consecutive requests, this could be between the actions or between the controllers.
This requires typecasting in view.

What are HTML Helpers in ASP.Net MVC?

HTML Helpers are like controls in traditional web forms. But HTML helpers are
more lightweight compared to web controls as it does not hold viewstate and
events. HTML Helpers returns the HTML string which can be directly rendered to
HTML page. Custom HTML Helpers also can be created by overriding
"HtmlHelper" class.

What are AJAX Helpers in ASP.Net MVC?

AJAX Helpers are used to create AJAX enabled elements like as Ajax enabled
forms and links which performs the request asynchronously and these are
extension methods of AJAXHelper class which exists in namespace -
System.Web.ASP.Net MVC.

What are the options can be configured in AJAX helpers?

Below are the options in AJAX helpers :

 Url : This is the request URL.


 Confirm : This is used to specify the message which is to be displayed in
confirm box.
 OnBegin : Javascript method name to be given here and this will be called
before the AJAX request.
 OnComplete : Javascript method name to be given here and this will be
called at the end of AJAX request.
 OnSuccess - Javascript method name to be given here and this will be
called when AJAX request is successful.
 OnFailure - Javascript method name to be given here and this will be called
when AJAX request is failed.
 UpdateTargetId : Target element which is populated from the action
returning HTML.
What is Layout in ASP.Net MVC?

Layout pages are similar to master pages in traditional web forms. This is used to
set the common look across multiple pages. In each child page we can find : /p>

@{
Layout = "~/Views/Shared/TestLayout1.cshtml";
}

This indicates child page uses TestLayout page as it's master page.
Explain Sections is ASP.Net MVC?
Section are the part of HTML which is to be rendered in layout page. In Layout
page we will use the below syntax for rendering the HTML :

@RenderSection("TestSection")

And in child pages we are defining these sections as shown below :


@section TestSection{
<h1>Test Content<h1>
}

If any child page does not have this section defined then error will be thrown so
to avoid that we can render the HTML like this :
@RenderSection("TestSection", required: false)

Can you explain RenderBody and RenderPage in ASP.Net MVC?


RenderBody is like ContentPlaceHolder in web forms. This will exist in layout
page and it will render the child pages/views. Layout page will have only one
RenderBody method. RenderPage also exists in Layout page and multiple
RenderPage can be there in Layout page.
What is ViewStart Page in ASP.Net MVC?

This page is used to make sure common layout page will be used for multiple
views. Code written in this file will be executed first when application is being
loaded.

Explain the methods used to render the views in ASP.Net MVC?

Below are the methods used to render the views from action -

View : To return the view from action.


 PartialView : To return the partial view from action.
 RedirectToAction : To Redirect to different action which can be in same
controller or in different controller.
 Redirect : Similar to "Response.Redirect" in webforms, used to redirect to
specified URL.
 RedirectToRoute : Redirect to action from the specified URL but URL in the
route table has been matched.
What are the sub types of ActionResult?

ActionResult is used to represent the action method result. Below are the subtypes
of ActionResult :
 ViewResult
 PartialViewResult
 RedirectToRouteResult
 RedirectResult
 JavascriptResult
 JSONResult
 FileResult
 HTTPStatusCodeResult
What are Non Action methods in ASP.Net MVC?

In ASP.Net MVC all public methods have been treated as Actions. So if you are
creating a method and if you do not want to use it as an action method then the
method has to be decorated with "NonAction" attribute as shown below :

[NonAction]
public void TestMethod()
{
// Method logic
}

How to change the action name in ASP.Net MVC?

"ActionName" attribute can be used for changing the action name. Below is the
sample code snippet to demonstrate more :

[ActionName("TestActionNew")]
public ActionResult TestAction()
{
return View();
}

So in the above code snippet "TestAction" is the original action name and in
"ActionName" attribute, name - "TestActionNew" is given. So the caller of this
action method will use the name "TestActionNew" to call this action.
What are Code Blocks in Views?
Unlike code expressions that are evaluated and sent to the response, it is the blocks
of code that are executed. This is useful for declaring variables which we may be
required to be used later.

@{
int x = 123;
string y = "aa";
}

What is the "HelperPage.IsAjax" Property?

The HelperPage.IsAjax property gets a value that indicates whether Ajax is being
used during the request of the Web page.

How we can call a JavaScript function on the change of a Dropdown List in


ASP.Net MVC?

Create a JavaScript method:

function DrpIndexChanged() { }

Invoke the method:


< %:Html.DropDownListFor(x => x.SelectedProduct, new
SelectList(Model.Customers, "Value", "Text"), "Please Select a Customer",
new { id = "ddlCustomers", onchange=" DrpIndexChanged ()" })%>

What are Validation Annotations?

Data annotations are attributes which can be found in the


"System.ComponentModel.DataAnnotations" namespace. These attributes will be
used for server-side validation and client-side validation is also supported. Four
attributes - Required, String Length, Regular Expression and Range are used to
cover the common validation scenarios.

Why to use Html.Partial in ASP.Net MVC?


This method is used to render the specified partial view as an HTML string. This
method does not depend on any action methods. We can use this like below :
@Html.Partial"TestPartialView""TestPartialView"
What is Html.RenderPartial?
Result of the method : "RenderPartial" is directly written to the HTML response.
This method does not return anything voidvoid. This method also does not depend
on action methods. RenderPartialmethod calls "Write" internally and we have to
make sure that "RenderPartial" method is enclosed in the bracket. Below is the
sample code snippet : @{Html.RenderPartial"TestPartialView""TestPartialView"; }
What is RouteConfig.cs in ASP.Net MVC 4?

"RouteConfig.cs" holds the routing configuration for ASP.Net MVC. RouteConfig


will be initialized on Application_Start event registered in Global.asax.

What are Scaffold templates in ASP.Net MVC?


Scaffolding in ASP.NET ASP.Net MVC is used to generate the Controllers,Model
and Views for create, read, update, and delete CRUDCRUD functionality in an
application. The scaffolding will be knowing the naming conventions used for
models and controllers and views.
Explain the types of Scaffoldings.

Below are the types of scaffoldings :

 Empty
 Create
 Delete
 Details
 Edit
 List
Can a view be shared across multiple controllers? If Yes, How we can do that?

Yes we can share a view across multiple controllers. We can put the view in the
"Shared" folder. When we create a new ASP.Net MVC Project we can see the
Layout page will be added in the shared folder, which is because it is used by
multiple child pages.

What are the components required to create a route in ASP.Net MVC?


 Name - This is the name of the route.
 URL Pattern : Placeholders will be given to match the request URL pattern.
 Defaults :When loading the application which controller, action to be
loaded along with the parameter.
Why to use "{resource}.axd/{*pathInfo}" in routing in ASP.Net MVC?
Using this default route - {resource}.axd/{*pathInfo}, we can prevent the requests
for the web resources files like - WebResource.axd or ScriptResource.axd from
passing to a controller.

Can we add constraints to the route? If yes, explain how we can do it?

Yes we can add constraints to route in following ways :

 Using Regular Expressions


 Using object which implements interface - IRouteConstraint.
What are the possible Razor view extensions?

Below are the two types of extensions razor view can have :

 .cshtml : In C# programming language this extension will be used.


 .vbhtml - In VB programming language this extension will be used.
What is PartialView in ASP.Net MVC?

PartialView is similar to UserControls in traditional web forms. For re-usability


purpose partial views are used. Since it's been shared with multiple views these are
kept in shared folder. Partial Views can be rendered in following ways :

 Html.Partial
 Html.RenderPartial
How we can add the CSS in ASP.Net MVC?
Below is the sample code snippet to add css to razor views : < link
rel="StyleSheet" href="/@Href Content/Site.css" Content/Site.css""
type="text/css"/>
Can I add ASP.Net MVC Testcases in Visual Studio Express?

No. We cannot add the test cases in Visual Studio Express edition it can be added
only in Professional and Ultimate versions of Visual Studio.

What is the use .Glimpse in ASP.Net MVC?

Glimpse is an open source tool for debugging the routes in ASP.Net MVC. It is the
client side debugger. Glimpse has to be turned on by visiting to local url link -
http://localhost:portname//glimpse.axd This is a popular and useful tool for
debugging which tracks the speed details, url details etc.

What is the need of Action Filters in ASP.Net MVC?


Action Filters allow us to execute the code before or after action has been
executed. This can be done by decorating the action methods of controls with
ASP.Net MVC attributes.

Mention some action filters which are used regularly in ASP.Net MVC?

Below are some action filters used :

 Authentication
 Authorization
 HandleError
 OutputCache
How can we determine action invoked from HTTP GET or HTTP POST?

This can be done in following way : Use class : "HttpRequestBase" and use the
method : "HttpMethod" to determine the action request type.

In Server how to check whether model has error or not in ASP.Net MVC?

Whenever validation fails it will be tracked in ModelState. By using property :


IsValid it can be determined. In Server code, check like this :

if(ModelState.IsValid){
// No Validation Errors
}

How to make sure Client Validation is enabled in ASP.Net MVC?

In Web.Config there are tags called : "ClientValidationEnabled" and


"UnobtrusiveJavaScriptEnabled". We can set the client side validation just by
setting these two tags "true", then this setting will be applied at the application
level.

< add key="ClientValidationEnabled" value="true" />


< add key="UnobtrusiveJavaScriptEnabled" value="true" />

What are Model Binders in ASP.Net MVC?

For Model Binding we will use class called : "ModelBinders", which gives access
to all the model binders in an application. We can create a custom model binders
by inheriting "IModelBinder".
How we can handle the exception at controller level in ASP.Net MVC?
Exception Handling is made simple in ASP.Net MVC and it can be done by just
overriding "OnException" and set the result property of the filtercontext
object asshownbelowasshownbelow to the view detail, which is to be returned in case
of exception.
protected overrides void OnException(ExceptionContext filterContext)
{
}

Does Tempdata hold the data for other request in ASP.Net MVC?

If Tempdata is assigned in the current request then it will be available for the
current request and the subsequent request and it depends whether data in
TempData read or not. If data in Tempdata is read then it would not be available
for the subsequent requests.

Explain Keep method in Tempdata in ASP.Net MVC?

As explained above in case data in Tempdata has been read in current request only
then "Keep" method has been used to make it available for the subsequent request.

@TempData["TestData"];
TempData.Keep("TestData");

Explain Peek method in Tempdata in ASP.Net MVC?

Similar to Keep method we have one more method called "Peek" which is used for
the same purpose. This method used to read data in Tempdata and it maintains the
data for subsequent request.

string A4str = TempData.Peek("TT").ToString();

What is Area in ASP.Net MVC?

Area is used to store the details of the modules of our project. This is really helpful
for big applications, where controllers, views and models are all in main controller,
view and model folders and it is very difficult to manage.

How we can register the Area in ASP.Net MVC?

When we have created an area make sure this will be registered in


"Application_Start" event in Global.asax. Below is the code snippet where area
registration is done :
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
}

What are child actions in ASP.Net MVC?

To create reusable widgets child actions are used and this will be embedded into
the parent views. In ASP.Net MVC Partial views are used to have reusability in the
application. Child action mainly returns the partial views.

How we can invoke child actions in ASP.Net MVC?

"ChildActionOnly" attribute is decorated over action methods to indicate that


action method is a child action. Below is the code snippet used to denote the child
action :

[ChildActionOnly]
public ActionResult MenuBar()
{
//Logic here
return PartialView();
}

What is Dependency Injection in ASP.Net MVC?

it's a design pattern and is used for developing loosely couple code. This is greatly
used in the software projects. This will reduce the coding in case of changes on
project design so this is vastly used.

Explain the advantages of Dependency Injection DIDI in ASP.Net MVC?

Below are the advantages of DI :

 Reduces class coupling


 Increases code reusing
 Improves code maintainability
 Improves application testing
Explain Test Driven Development TDDTDD ?
TDD is a methodology which says, write your tests first before you write your
code. In TDD, tests drive your application design and development cycles. You do
not do the check-in of your code into source control until all of your unit tests pass.

Explain the tools used for unit testing in ASP.Net MVC?

Below are the tools used for unit testing :

 NUnit
 xUnit.NET
 Ninject 2
 Moq
What is Representational State Transfer RESTREST mean?

REST is an architectural style which uses HTTP protocol methods like GET,
POST, PUT, and DELETE to access the data. ASP.Net MVC works in this style.
In ASP.Net MVC 4 there is a support for Web API which uses to build the service
using HTTP verbs.

How to use Jquery Plugins in ASP.Net MVC validation?

We can use dataannotations for validation in ASP.Net MVC. If we want to use


validation during runtime using Jquery then we can use Jquery plugins for
validation. Eg: If validation is to be done on customer name textbox then we can
do as :

$('#CustomerName').rules("add", {
required: true,
minlength: 2,
messages: {
required: "Please enter name",
minlength: "Minimum length is 2"
}
});

How we can multiple submit buttons in ASP.Net MVC?

Below is the scenario and the solution to solve multiple submit buttons issue.
Scenario :
@using (Html.BeginForm("MyTestAction","MyTestController")
{
<input type="submit" value="MySave" />
<input type="submit" value="MyEdit" />
}

Solution :
Public ActionResult MyTestAction(string submit) //submit will have value
either "MySave" or "MyEdit"
{
// Write code here
}

What are the differences between Partial View and Display Template and Edit
Templates in ASP.Net MVC?
 Display Templates : These are model centric. Meaning it depends on the
properties of the view model used. It uses convention that will only display
like divs or labels.
 Edit Templates : These are also model centric but will have editable
controls like Textboxes.
 Partial View : These are view centric. These will differ from templates by
the way they render the properties Id′sId′s Eg : CategoryViewModel has
Product class property then it will be rendered as
Model.Product.ProductName but in case of templates if we
CategoryViewModel has List then
@Html.DisplayForm=>m.Productsm=>m.Products works and it renders the
template for each item of this list.
Can I set the unlimited length for "maxJsonLength" property in config?

No. We can't set unlimited length for property maxJsonLength. Default value is -
102400 and maximum value what we can set would be : 2147483644.

Can I use Razor code in Javascript in ASP.Net MVC?

Yes. We can use the razor code in javascript in cshtml by using <text> element.

< script type="text/javascript">


@foreach (var item in Model) {
< text >
//javascript goes here which uses the server values
< text >
}
< script>

How can I return string result from Action in ASP.Net MVC?

Below is the code snippet to return string from action method :

public ActionResult TestAction() {


return Content("Hello Test !!");
}

How to return the JSON from action method in ASP.Net MVC?

Below is the code snippet to return string from action method :

public ActionResult TestAction() {


return JSON(new { prop1 = "Test1", prop2 = "Test2" });
}

You might also like