RouteArea中AreaPrefix(Area 前缀)的使用

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace WebApplication6.Controllers
 8 {
 9     [RouteArea("Admin")]
10     [RoutePrefix("testArea")]
11     [Route("{action}")]
12 
13    // 匹配 /dddAdmin/testArea/Index
14     public class MyAreaController : Controller
15     {
16         // GET: MyArea
17         public ActionResult Index()
18         {
19             return View();
20         }
21     }
22 }

这里只用了RouteArea,没有AreaPrefix ,后来我又试了一下加AreaPrefix 的

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace WebApplication6.Controllers
 8 {
 9     [RouteArea("Admin" ,AreaPrefix="ddd")]
10     [RoutePrefix("testArea")]
11     [Route("{action}")]
12     //  我想当然以为是匹配 /ddd/Admin/testArea/Index
13     public class MyAreaController : Controller
14     {
15         // GET: MyArea
16         public ActionResult Index()
17         {
18             return View();
19         }
20     }
21 }

结过不是想象的那样,因为是第一次用,网上没找到AreaPrefix 的用法,可能是找的方式不对,于是去看了msdn,

以下是对AreaPrefix的解释。

看到后半句,我就猜想AreaPrefix 难道与区域名称是相互替代的???

我就试了一下

<a href="/ddd/testArea/Index"> Area测试  </a>

果然能访问到了,比较简单,用于自己备忘罢了

posted @ 2015-08-31 16:10  宝宝董  阅读(634)  评论(3编辑  收藏  举报