【问题标题】:Any way I can set the minimumvalue and the maximumvalue in the server side for asp:RangeValidator?有什么办法可以在服务器端为asp:RangeValidator设置最小值和最大值?
【发布时间】:2011-05-26 04:47:33
【问题描述】:

有谁知道有什么方法可以在服务器端为asp:RangeValidator .net c#设置最小值和最大值

示例:
我有以下代码,而不是硬编码最小值和最大值,我可以在页面加载期间设置这些值吗?

<asp:RangeValidator runat="server" id="rngDate" controltovalidate="txtDate" type="Date" minimumvalue="01-01-2011" maximumvalue="26-05-2011" errormessage="Please enter a valid date !" />

【问题讨论】:

    标签: c# .net web-applications


    【解决方案1】:

    是的,只需在Page_Load 中设置MinimumValueMaximumValue 属性。首先,将您在示例代码中的maximumvalue 声明更改为maximumvalue="05-26-2011"(您在示例中使用它的方式在我的测试中导致了ASP.NET 异常)。然后,只需在Page_Load 中执行类似操作:

    protected void Page_Load(object sender, EventArgs e)
    {
        rngDate.MinimumValue = "05/01/2011";
        rngDate.MaximumValue = "05/20/2011";
    }
    

    它应该可以正常工作。如果不是,那么您的页面中可能发生了其他事情。

    【讨论】:

      【解决方案2】:

      是的,您可以在 Page_Load 事件处理程序中设置这些属性:

      rngDate.MaximumValue = "the max";
      rngDate.MaximumValue = "the min";
      

      【讨论】:

        【解决方案3】:

        我现在无法对其进行测试,但我的一个网站上的内容几乎完全相同:

        <asp:RangeValidator runat="server" id="rngDate" controltovalidate="txtDate" type="Date" minimumvalue="<%= <%= DateTime.Now.ToString() %> %>" maximumvalue="<%= <%= DateTime.Now.ToString() %> %>" errormessage="Please enter a valid date !" />
        

        (当然,将DateTime.Now 替换为您的日期时间...)

        【讨论】:

          【解决方案4】:

          您可以通过在后面的代码中将值分配给 rngDate.MaximumValuerngDate.MaximumValue 来做到这一点

          rngDate.MaximumValue = DateTime.Now.ToShortDateString();
          rngDate.MaximumValue = customDate.ToShortDateString();
          

          【讨论】:

            猜你喜欢
            • 2017-05-17
            • 2021-07-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-09-06
            • 2016-03-19
            • 1970-01-01
            • 2021-08-24
            相关资源
            最近更新 更多