控制器:
public class HomeController : Controller
{
Models.MakaleSitesiDBEntities entity = new Models.MakaleSitesiDBEntities();
public ActionResult ArticlesByCategory(int CategoryId)
{
IEnumerable<Models.TableArticles> articles = entity.TableArticles.Where(a => a.CategoryId == CategoryId && a.IsActive == true).OrderBy(a => a.PublishedOn);
return View(articles.Reverse());
}
public ActionResult ArticleDetails(Guid ArticleId)
{
if (Session["IsUserRead"] == null || (Guid)Session["IsUserRead"] != ArticleId)
{
Session["IsUserRead"] = ArticleId;
Models.TableArticles article = entity.TableArticles.Where(a => a.ArticleId == ArticleId).SingleOrDefault();
article.ViewCount++;
entity.SaveChanges();
}
return View(entity.TableArticles.Where(a => a.ArticleId == ArticleId).SingleOrDefault());
}
}
ArticlesByCategory 允许匿名用户,但 ArticleDetails 不允许。它将页面路由到登录页面?
全球.asax
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace MakaleSitesi
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
// Use LocalDB for Entity Framework by default
Database.DefaultConnectionFactory = new SqlConnectionFactory("Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True");
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
BundleTable.Bundles.RegisterTemplateBundles();
}
}
}
为什么会这样?