Generating dynamic XML Sitemaps in ASP.NET 5

This post is about creating a XML Sitemap middleware in ASP.NET 5 MVC 6. Sitemaps provide a way of informing search engines about pages in your site. For small websites you could probably generate an XML sitemap file manually. For large sites with dynamic content, a programmatic approach is required....


Build your first Office 365 addin using HTML and Javascript

This post is about building office 365 addin using HTML and Javascript technologies. You don’t require Visual Studio, but it is recommended. VS 2015 has a project type Apps for Office. In this post I am creating an outlook addin add-in that provides audio transcription of the mail content. For...


Angular JS CRUD operations with ASP.NET5 - Part 5

This post is about enabling javascript code coverage through Blanket.js. First you need to install the blanket.js via bower. So here is my updated bower.json. { "name": "todolist", "private": true, "dependencies": { "bootstrap": "3.0.0", "angular": "*", "font-awesome": "*", "jasmine": "*", "angular-mocks": "*", "blanket": "*" } } I have added the...


Running Jasmine Tests with phantomjs

Last post is about writing javascript unit tests. This post is about integrating Jasmine tests in Continuous Integration. For integrating in CI, you need an application - PhantomJS. PhantomJS is a headless WebKit scriptable with a JavaScript API. You can download PhantomJS from the PhantomJS download page.. To run Jasmine...


Dynamically load ASP.NET5 View Components using Jquery

Long back I wrote a post about loading partial views using JQuery. This post is about loading View Components in ASP.NET5 with the help of JQuery. Similar to previous versions of MVC, this version also supports returning View component from Action Result. So here is the controller code. public IActionResult...


Angular JS CRUD operations with ASP.NET5 - Part 4

This post is about Angular JS unit testing. This post is using Jasmine; Jasmine is a behavior-driven development framework for testing JavaScript code. For testability I have modified the controller code little bit. Here is the controller. todoApp.controller("todoController",["$scope", "$http",function ($scope, $http) { $scope.Todo = { Description: "", IsCompleted: false };...


Angular JS CRUD operations with ASP.NET5 - Part 3

As I mentioned in the last post, this post is about client side implementation. Hope you have a basic understanding about Angular JS. If not, please have look into the Angular JS tutorial page. Angular JS comes with two Ajax implementations to communicate to server. One $http and $resource. In...