-1

我有一个区域并将我的路线更改为这个

 public class WeblogsAreaRegistration : AreaRegistration
 {
    public override string AreaName
    {
        get
        {
            return "Weblogs";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Weblogs_default",
            "Weblogs/{controller}/{action}/{blogName}/{post}",
            new { action = "Index", 
                  blogName = UrlParameter.Optional,post=UrlParameter.Optional}
        );

    }
}

这是我的索引

 public ActionResult Index(string blogName,int post)
    {
        return View();
    }

它可以正常工作:

 http://localhost:2927/Weblogs/Blogs?blogName=Myco&Post=3

但不是由

 http://localhost:2927/Weblogs/Blogs?blogName=Myco

问题是什么?

如何更改我的路线以使用此 URL:

 http://localhost:2927/Weblogs/Blogs/Myco/3

“myco”是博客名称,3 是帖子编号。

可能吗?

4

1 回答 1

0

从您的路线中删除您的action和令牌。controller将其修改为:

 context.MapRoute(
            "Weblogs_default",
            "Weblogs/Blogs/{blogName}/{post}",
            new { action = "Index", 
                  Controller = "Blogs",
                  blogName = UrlParameter.Optional,
                  post=UrlParameter.Optional}
        );
于 2012-06-10T14:17:10.803 回答