首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeRouting -带可选路由参数的区域

AttributeRouting -带可选路由参数的区域
EN

Stack Overflow用户
提问于 2013-09-11 04:16:29
回答 2查看 918关注 0票数 1

可以有两条路线的区域吗?例如:

代码语言:javascript
复制
[RouteArea("{culture}/testarea")] <-- specific culture
[RouteArea("testarea")]  <-- default culture
LocalizableAreaBaseController ....

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-09-11 23:52:58

您可以使用路由约束来实现这一点。

代码语言:javascript
复制
public class TestAreaAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "TestArea";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "TestArea_culture",
            "{culture}/TestArea/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional },
            new { culture = @"^[A-Za-z]{2}(\-[A-Za-z]{2})$"}
        );

        context.MapRoute(
            "TestArea_default",
            "TestArea/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
}

代码语言:javascript
复制
[RoutePrefix("{culture:regex(^[A-Za-z]{2}(\-[A-Za-z]{2})$)}/TestArea")]
[RoutePrefix("TestArea")]
public class TestController : ApiController {
}
票数 1
EN

Stack Overflow用户

发布于 2014-03-14 09:01:52

在RouteArea属性中还有另一个前缀,请使用该前缀。这将会起作用。

[RouteArea("testarea"),AreaPrefix="{culture}/testarea"] <--特定区域性

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18727993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档