-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 に答える