【问题标题】: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 中设置MinimumValue 和MaximumValue 属性。首先,将您在示例代码中的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.MaximumValue 和 rngDate.MaximumValue 来做到这一点
rngDate.MaximumValue = DateTime.Now.ToShortDateString();
rngDate.MaximumValue = customDate.ToShortDateString();