首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使IRouteConstraint过滤路由

如何使IRouteConstraint过滤路由
EN

Stack Overflow用户
提问于 2011-02-14 09:31:30
回答 1查看 8.6K关注 0票数 18

我编写了一个自定义路由约束,但它的过滤器无法识别。有谁有IRouteConstraint的工作用法示例吗?

另外,给开发人员的注意:我在我的android上得到了表单的双重显示。部分渲染一定出了什么问题?

EN

回答 1

Stack Overflow用户

发布于 2011-02-14 10:58:35

下面是一个在虚构的存储库中查找文章段塞的简单约束:

代码语言:javascript
复制
public class SlugRouteConstraint : IRouteConstraint
{
    private readonly ISlugRepository slugRepository = new SlugRepository();

    public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
    {
        if (!values.ContainsKey(parameterName))
            return false;

        var slug = (string)values[parameterName];

        return slugRepository.Exists(slug);
    }
}

您可以像这样连接约束:

代码语言:javascript
复制
routes.MapRoute("Slugs", "{slug}",
    new { controller = "Articles", action = "View" },
    new { slug = new SlugConstraint() });
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4988138

复制
相关文章

相似问题

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