我在ascx文件中有这个:
<asp:textbox ID="AddHourlyRate" runat="server" width="55px" />
<asp:RegularExpressionValidator ID="AddHourlyRateRegexValidator"
ErrorMessage="Please enter a valid charge rate (whole number only)"
ValidationExpression="^\$?[0-9]+(\.[0]{2})?$" ControlToValidate="AddHourlyRate"
Display="Dynamic" runat="server" />
Run Code Online (Sandbox Code Playgroud)
如何ValidationExpression在asp:RegularExpressionValidator不必复制粘贴正则表达式的情况下重用其他s?我是asp.NET的新手.
为每个正则表达式创建一个带有const字符串的类,我使用该解决方案来解决您的确切问题.该类位于一个由多个项目共享的公共程序集中.并且您可能在其他一些地方使用正则表达式而不仅仅是验证器控件.
像这样的东西:
public class RegularExpressions
{
public const string TelephoneValidation = @"^[0-9 ]+$";
public const string IntegerValidation = @"^\d+$";
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以从后面的代码设置验证器表达式:
validator.ValidationExpression = RegularExpressions.IntegerValidation;
Run Code Online (Sandbox Code Playgroud)
或者在标记中:
<%@ Import Namespace="RegularExpression.Class.Namespace" %>
.
.
.
<asp:RegularExpressionValidator ID="AddHourlyRateRegexValidator"
ErrorMessage="Please enter a valid charge rate (whole number only)"
ValidationExpression="<%# RegularExpressions.IntegerValidation %>" ControlToValidate="AddHourlyRate"
Display="Dynamic" runat="server" />
Run Code Online (Sandbox Code Playgroud)
当然在import指令中编写适当的命名空间.
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |