我刚刚意识到 MVC 3 和 4 Routing 可以配置作为区域一部分的操作的路径,而无需命名区域名称,但它们不返回视图。例如看下面的代码:
namespace APS.EIMS.UI.Areas.Admin
{
public class TestController : BaseController
{
public ActionResult Index()
{
return View();
}
public JsonResult GetNames()
{
var dc = GetDataContext();
var result = from m in dc.Db<IMS_Reject>()
select new { m.Id };
return Json(result, JsonRequestBehavior.AllowGet);
}
}
}
每当我尝试//localhost/Test/Index它找不到索引视图但可以将路径路由到该区域中的操作(它适用于//localhost/admin/test/index正如我所期望的那样)。我也为//localhost/admin/test/getnames和//localhost/test/getnames得到相同的结果。为什么它会这样?它如何找到没有区域名称的动作?我需要在我正在开发的应用程序中防止这种情况发生,这可能吗?(我的意思是仅在地址完整时路由,否则出现 404 错误)