DsJian.Mvc/Routing/IsIntConstraint.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

// ================================================
// IsInt.cs
// Copyright (C) 2010 Benking
// mail:ben.wangzj@gmail.com
// website:http://www.dsjian.com/
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// ================================================

using System.Web;
using System.Web.Routing;

namespace DsJian.Mvc.Routing
{
    public class IsInt  : IRouteConstraint
    {
        public IsInt() { }

        public IsInt(int minValue, int maxValue)
            : this()
        {
            MinValue = minValue;
            MaxValue = maxValue;
        }

        public IsInt(bool isOptional)
            : this()
        {
            IsOptional = isOptional;
        }

        public IsInt(int minValue, int maxValue, bool isOptional)
            : this(minValue, maxValue)
        {
            IsOptional = isOptional;
        }

        protected int MinValue { get; set; }
        protected int MaxValue { get; set; }
        protected bool IsOptional { get; set; }

        #region IRouteConstraint Members

        public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values,
                          RouteDirection routeDirection)
        {
            int tryInt;

            return (
                       values[parameterName] != null
                       && int.TryParse(values[parameterName].ToString(), out tryInt)
                       && ((MinValue < 1 && MaxValue < 1) || (MinValue <= tryInt && tryInt <= MaxValue))
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。