Ejemplo n.º 1
0
        public override RouteData GetRouteData(System.Web.HttpContextBase httpContext)
        {
            var virtualPath = httpContext.Request.AppRelativeCurrentExecutionFilePath + httpContext.Request.PathInfo;//获取相对路径

            virtualPath = virtualPath.Substring(2).Replace(".html", "").Trim('/');

            var article = commonModelService.Find(cm => cm.State == CommonModelState.Normal && cm.SubTitle.Equals(virtualPath, StringComparison.OrdinalIgnoreCase));

            //尝试根据分类名称获取相应分类,忽略大小写


            if (article == null)//如果分类是null,可能不是我们要处理的URL,返回null,让匹配继续进行
            {
                return(null);
            }

            //至此可以肯定是我们要处理的URL了
            var data = new RouteData(this, new MvcRouteHandler());//声明一个RouteData,添加相应的路由值

            data.Values.Add("controller", "Article");
            data.Values.Add("action", "Index");
            data.Values.Add("id", article.ModelID);
            data.DataTokens.Add("namespaces", new string[] { "You.Web.Controllers" });

            return(data);//返回这个路由值将调用CategoryController.ShowCategory(category.CategoeyID)方法。匹配终止
        }
Ejemplo n.º 2
0
        // GET: Article
        public ActionResult Index(int id)
        {
            CommonModelService commonModelService = new CommonModelService();
            var model = commonModelService.Find(id);

            if (model == null)
            {
                return(RedirectToAction("", ""));
            }
            if (model.isPage)
            {
                return(View("Page", model));
            }
            else
            {
                return(View("Article", model));
            }
        }
Ejemplo n.º 3
0
 public ActionResult Index(int?id)
 {
     if (id != null)
     {
         ViewBag.Title  = "编辑文章";
         ViewBag.Method = "Edit";
         var model = commonModelService.Find((int)id);
         return(View("Edit", model));
     }
     ViewBag.Title  = "添加文章";
     ViewBag.Method = "Add";
     return(View("Edit"));
 }