As seen from this stack overflow question all versions of IE appear to have a “bug” that will not persist or retrieve cookies when set on a specific path that does not include a trailing slash. For example, if using the jquery cookie plugin:

$.cookie("CookieId", "StoredCookieValue", { path: "/MyController/" });

However, by default, ASP.NET MVC doesn’t add the trailing slash, so if I’m requesting the Index action of my controller, (e.g. http://somedomain.com/MyController) I don’t get the trailing slash, and IE won’t retrieve the cookies stored at “/MyController/”.

To work around this issue, I found another stack over flow question that provides functionality to automatically add trailing slashes to the virtual route paths created by MVC. As seen in the question, one can map routes with the trailing slash for a specific controller:

routes.MapRouteTrailingSlash("MyControllerRoute", "MyController/{action}/{id}", new { controller = "MyController", action = "Index", id = "" });

or change the default MapRoute to MapRouteTrailingSlash:

routes.MapRouteTrailingSlash(
  "Default",                                              // Route name
  "{controller}/{action}/{id}",                           // URL with parameters
  new { controller = "MyController", action = "Index", id = "" }  // Parameter defaults
);