I am facing strange problem in my MVC application.
I had navigation link of page like this-
<a href="/Home/CardDetails?cardID=@Model.cardID">@Model.cardTitle</a>
So i changed its route to make it canonical and added an entry in route.config file above "Default" route-
 routes.MapRoute(
                name: "HomeCardDetails",
                url: "{controller}/{action}/{cardID}/{cardTitle}",
                defaults: new { controller = "Home", action = "CardDetails", cardTitle = UrlParameter.Optional }
        );
Then modified link according to route as-
<a href="/Home/cardDetails/@Model.cardID/@Model.cardTitle">@Model.cardTitle</a>
Controller method-
   public ActionResult CardDetails(CardModel card) {
            var cardDetail = (from u in db.CardTables
                              where u.IsApproved == "YES" && u.CardID == card.cardID
                              join v in db.FunRegistereds
                              on u.FKCardID equals v.UserID
                              select new CardModel {
                                  cardID = u.CardID,
                                  cardHashCode = u.CardHashCode,
                                  cardDate = u.CardDate,
                                  cardFileName = u.CardFileName,
                                  cardFilePath = u.CardFilePath,
                                  cardTitle = u.CardTitle.Replace(" ","-"),
                                  fkcardID = Convert.ToInt32(u.FKCardID),
                                  aboutCard = u.AboutCard,
                                  uploadedBy = u.UploadedBy == null ? "Anonymous" : u.UploadedBy,
                                  cardspamcount = u.CardSpams == null ? 0 : Convert.ToInt32(u.CardSpams),
                                  cardfavoritecount = u.CardFavorites == null ? 0 : Convert.ToInt32(u.CardFavorites),
                                  cardlovecount = u.CardLoves == null ? 0 : Convert.ToInt32(u.CardLoves),
                                  cardhatecount = u.CardHates == null ? 0 : Convert.ToInt32(u.CardHates)
                              }).SingleOrDefault();
            if (Request.IsAuthenticated && Session["LoggedInUser"] != null) {
                if (cardDetail.fkcardID == this.LoggedInUser.UserID) {
                    ViewBag.Username = cardDetail.uploadedBy;
                }
                return View(cardDetail);
            }
            else {
                return View(cardDetail);
            }
        }
Now this new route seems to work fine. But View never comes with layout now.
It renders page without layout.
My actionResult is type View and it adds entry of viewstart.cshtml while rendering it.
I just want to know why this is happening and what happened in between?
 
    