正则表达式验证表达式,用于结构中另一个项目中定义的常量

时间:2014-07-08 20:57:23

标签: c# asp.net .net regex data-binding

我的每一行都有Repeater TextBoxRegularExpressionValidator(REV)。我通过执行

来绑定aspx中的REV的验证表达式
<asp:RegularExpressionValidator ID="regexTeam" ErrorMessage="myerrormessage" 
       ValidationGroup="ValidationGroup1" Display="None" 
       ControlToValidate="txtTeam" runat="server" 
       ValidationExpression='<%# MyNamespace.Constants.RegularExpression.myvalidationexpressionconstant %>'>
</asp:RegularExpressionValidator>

这很好用。

现在我有另一个地方(不在Repeater内)与TextBox和REV相同的地方。我这样做:

<asp:RegularExpressionValidator ID="regexStatus" ErrorMessage="myerrormessage" 
        ValidationGroup="ValidationGroup2" Display="None" 
        ControlToValidate="txtStatus" runat="server" 
        ValidationExpression='<%# MyNamespace.Constants.RegularExpression.myvalidationexpressionconstant %>'>
</asp:RegularExpressionValidator>

第二个不起作用。它不接受任何输入。在页面源中,没有regexstatus.validationexpressionregexteam.validationexpression按预期存在。有什么想法吗?

PS:常量在结构中的单独项目中定义。我不能把它变成静态类。

1 个答案:

答案 0 :(得分:0)

在不在Repeater的人中,没有&#39; bind&#39;发生了动作,因此<%#代码未触发。

您可以在页面级别调用绑定,以便在需要时触发它,但不确定它的副作用是什么,或者您可以使用<%=而不管绑定执行它。