Getting started with Lightswitch using MVC Part 2

Rama Sagar
Posted by in LightSwitch category on for Beginner level | Points: 250 | Views : 6889 red flag

According to Microsoft, most business applications are forms-over-data applications that provide a UI for viewing, adding, and modifying data. When you use other development tools to build forms-over-data applications, much of your time is spent on repetitive tasks. You write code to interact with a database, you write code for the user interface, and you write code for the business logic. When you use LightSwitch, much of the repetitive work is done for you and, in fact, you can create a LightSwitch application without writing any code at all! For most applications, the only code you have to write is the code that only you can write: the business logic.


This article shows the walk through of how to use MVC with Visual Studio LightSwitch for absolute beginners.In Part 1 we have seen how to get started by creating a LightSwitch Application..Now lets continue by creating the MVC structure.
  • Step 1: Create the following folders in the Server project as shown
  1. App_Start
  2. Controllers
  3. Models

  •    Step 2 Add a class file named RouteConfig.cs to the App_Start folder and add the following implementation

Using the code

The rule defined here is required to allow the LightSwitch OData service to be accessed when WebAPI is also enabled

using System.Web.Mvc;
using System.Web.Routing;
namespace LightSwitchApplication
    public class RouteConfig
        public static void RegisterRoutes(RouteCollection routes)
            routes.IgnoreRoute("{*allsvc}", new { allsvc = @".*\.svc(/.*)?" });
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new
                    controller = "Home",
                    action = "Index",
                    id = UrlParameter.Optional

  • Step 3 Right click on views folder and add  Web.config file and use the following code

<?xml version="1.0"?>
    <sectionGroup name="system.web.webPages.razor" 
                  System.Web.WebPages.Razor, Version=, 
                  Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, 
               System.Web.WebPages.Razor, Version=, 
               Culture=neutral, PublicKeyToken=31BF3856AD364E35"
               requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, 
               System.Web.WebPages.Razor, Version=, 
               Culture=neutral, PublicKeyToken=31BF3856AD364E35"
               requirePermission="false" />
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, 
          System.Web.Mvc, Version=, 
          Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
    <add key="webpages:Enabled" value="false" />
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
        System.Web.Mvc, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        System.Web.Mvc, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        System.Web.Mvc, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <add assembly="System.Web.Mvc, Version=, 
             Culture=neutral, PublicKeyToken=31BF3856AD364E35"
             namespace="System.Web.Mvc" tagPrefix="mvc" />
    <validation validateIntegratedModeConfiguration="false" />
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*"
           preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />

  • Step 4 Right click on server application and add a Global.asax file and use the following code


The call passes the the Routes collection of the Global RouteTable as a parameter to the RegisterRoutes method, which then populates the routes collection with pre-defined route templates for the application
using System.Web.Mvc;
using System.Web.Routing;
namespace LightSwitchApplication
    public class Global : System.Web.HttpApplication
        protected void Application_Start()

  • Step 5: Now Lets create a MVC controller under Controllers folder and add the following Implementation


using System.Web.Mvc;
namespace LightSwitchApplication.Controllers
    public class HomeController : Controller
        public ActionResult Index()
            return View();
  • Step 6: Lets create a MVC view under Views folder.
                   Right click on views folder and add Home Folder and create MVC5 Razor view under it as shown below

    Layout = null;
<!DOCTYPE html>
    <meta name="HandheldFriendly" content="true" />
    <meta name="viewport" content="width=device-width,
          initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
    <title>Welcome to Lightswitch with Model View Controller</title>
        <h1>Hello from MVC!</h1>
        <a href="HTMLClient">LightSwitch Application</a>
 Run the Application we must get the following output


In this article we have seen how to follow the MVC structure in LightSwitch Application...


Page copy protected against web site content infringement by Copyscape

About the Author

Rama Sagar
Full Name: RamaSagar Pulidindi
Member Level: Silver
Member Status: Member,MVP
Member Since: 12/30/2012 1:51:40 AM
Country: India
A Software Profesional working in Microsoft .NET technologies since year 2008, and I work for Dake ACE. I am passionate about .NET technology and love to contribute to the .NET community at Dot Net Funda

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)