我的每一行都有Repeater
TextBox
和RegularExpressionValidator
(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.validationexpression
。 regexteam.validationexpression
按预期存在。有什么想法吗?
PS:常量在结构中的单独项目中定义。我不能把它变成静态类。
答案 0 :(得分:0)
在不在Repeater
的人中,没有&#39; bind&#39;发生了动作,因此<%#
代码未触发。
您可以在页面级别调用绑定,以便在需要时触发它,但不确定它的副作用是什么,或者您可以使用<%=
而不管绑定执行它。