title: Asp.net core 1.0 and Angular 1 routing issue
body: <p>I have an asp.net core 1.0 application (MVC) + AngularJS 1. I have an controller <code>Home</code> with action <code>Index</code> looking like that</p>
  
  <pre><code>[Route("UsersModule/[controller]/[action]")]
  public class HomeController : UsersModuleControllerBase, IWebFrameModuleController
  {
      public IActionResult Index()
      {
          return View();
      }
  }
  </code></pre>
  
  <p>The <code>UsersModule/Home/Index</code> view looks like that:</p>
  
  <pre><code>... 
  
  &lt;div id="usersModule"&gt;
      &lt;div ng-view&gt;&lt;/div&gt;
  &lt;/div&gt;
  
  ...
  </code></pre>
  
  <p>I dynamically bootstrap angular on that div element.</p>
  
  <p>Imagine 2 angular routes. The first one is the default (<code>$routeProvider.otherwise</code> route) one. </p>
  
  <pre><code>//1
  "templateUrl": "Modules/UsersModule/app/users/pages/users.html",
  "controller": "usersModule.UsersCtrl"
  
   //2 
  "url": "/users",
  "templateUrl": "Modules/UsersModule/app/users/pages/users.html",
  "controller": "usersModule.UsersCtrl"
  </code></pre>
  
  <p>So when I browse <code>http://localhost/&lt;app_name&gt;/UsersModule/Home/Index</code> I get everything right - the angular template and controller are loaded, etc.</p>
  
  <p><strong>The problem</strong></p>
  
  <p>But when I browse <code>http://localhost/&lt;app_name&gt;/UsersModule/Home/Index#/users</code>. The browse rewrites the url to <code>http://localhost/&lt;app_name&gt;/UsersModule/Home/Index#!#%2Fusers</code> and nothing happens, no js errors, no request has been made, etc.</p>
  
  <p>This escaping of the characters is something new and I am thinking that probably this is the cause of my not-loading issue. I didn't have any issues before the asp.net core.</p>
  
  <p>I will copy-paste part of my <code>Startup.cs</code> file as well:</p>
  
  <p>in <code>ConfigureServices</code> I have that</p>
  
  <pre><code>var mvcBuilder = services
                  .AddMvc()
                  .AddJsonOptions(options =&gt;
                  {
                      options.SerializerSettings.DateParseHandling = Newtonsoft.Json.DateParseHandling.None;
                      options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                  })
                  .AddMvcOptions(options =&gt;
                  {
                      options.Filters.Add(new GlobalExceptionHandlerFilter(log4netLogger));
                  });
  </code></pre>
  
  <p><code>Configure</code> method:</p>
  
  <pre><code> app.UseStaticFiles();
  
   app.UseMvc(routes =&gt;
          {
              routes.MapRoute(
                  name: "default",
                  template: "{controller}/{action}/{id?}",
                  defaults: new { controller = "Home", action = "Main" });
          });
  </code></pre>