Showing posts with label MVC2. Show all posts
Showing posts with label MVC2. Show all posts

Wednesday, October 23, 2013

What are Validation Annotations?

Data annotations are attributes you can find in System.ComponentModel.DataAnnotations namespace. These attributes provide server-side validation, and the framework also supports client-side validation when you use one of the attributes on a model property. You can use four attributes in the DataAnnotations namespace to cover common validation scenarios,
Required, String Length, Regular Expression, Range.

http://www.codeproject.com/Articles/639717/MVC-Interview-Questions-and-Answers-All-about-MVC

What are Scaffold templates?

These templates use the Visual Studio T4 templating system to generate a view based on the model type selected. Scaffolding in ASP.NET MVC can generate the boilerplate code we need for create, read, update, and delete (CRUD) functionality in an application. The scaffolding templates can examine the type definition for, and then generate a controller and the controller’s associated views. The scaffolding knows how to name controllers, how to name views, what code needs to go in each component, and where to place all these pieces in the project for the application to work.

What namespaces MVC use and for what?

What is namespace of ASP.NET MVC?

ASP.NET MVC namespaces as well as classes are located in assembly System.Web.Mvc.
Note: Some of the content has been taken from various books/articles.

What is System.Web.Mvc namespace?

This namespace contains classes and interfaces that support the MVC pattern for ASP.NET Web applications. This namespace includes classes that represent controllers, controller factories, action results, views, partial views, and model binders.

What is System.Web.Mvc.Ajax namespace?

System.Web.Mvc.Ajax namespace contains classes that supports Ajax scripting in an ASP.NET MVC application. The namespace includes support for Ajax scripts and Ajax option settings as well.

What is System.Web.Mvc.Async namespace?

System.Web.Mvc.Async namespace contains classes and interfaces that support asynchronous actions in an ASP.NET MVC application.

What is System.Web.Mvc.Html namespace?

System.Web.Mvc.Html namespace contains classes that help render HTML controls in an MVC application. This namespace includes classes that support forms, input controls, links, partial views, and validation.

http://www.codeproject.com/Articles/639717/MVC-Interview-Questions-and-Answers-All-about-MVC

What is the “page lifecycle” of an ASP.NET MVC?

Following processes are performed by ASP.NET MVC page:

  1. App initialization
  2. Routing
  3. Instantiate and execute controller
  4. Locate and invoke controller action
  5. Instantiate and render view

Main features of MVC2, MVC3 and MVC4

ASP.NET MVC 2 was released in March 2010. Its main features are:

  • Introduction of UI helpers with automatic scaffolding with customizable templates
  • Attribute-based model validation on both client and server
  • Strongly typed HTML helpers
  • Improved Visual Studio tooling
  • There were also lots of API enhancements and “pro” features, based on feedback from developers building a variety of applications on ASP.NET MVC 1, such as:
    • Support for partitioning large applications into areas
    • Asynchronous controllers support
    • Support for rendering subsections of a page/site using Html.RenderAction
    • Lots of new helper functions, utilities, and API enhancements

ASP.NET MVC 3 shipped just 10 months after MVC 2 in Jan 2011. Some of the top features in MVC 3 included:

  • The Razor view engine
  • Support for .NET 4 Data Annotations
  • Improved model validation
  • Greater control and flexibility with support for dependency resolution and global action filters
  • Better JavaScript support with unobtrusive JavaScript, jQuery Validation, and JSON binding
  • Use of NuGet to deliver software and manage dependencies throughout the platform

Following are the top features of MVC4:

  • ASP.NET Web API
  • Enhancements to default project templates
  • Mobile project template using jQuery Mobile
  • Display Modes
  • Task support for Asynchronous Controllers
  • Bundling and minification