【发布时间】:2011-03-22 08:37:38
【问题描述】:
我们有一个运行.NET Framework 2.0 和Ajax version 10618 的网站。
但事实上,这是 dll 的旧版本,因此我们计划将其切换到 .NET Framework 2.0、AjaxControlToolkit version 20229 的“最新”版本。
在我们的测试中,我们检测到 ASP 控件 RegularExpressionValidator 存在问题,该控件过去在旧版本中运行良好。
只要目标控件的输入与验证不匹配,控件就会显示我的
文本,在本例中是一个红色星号,位于下一行中,并在控件中显示以下内容:"-1.7976931348623157e+308"。
表达式没有任何问题,因为正如我所说,它适用于旧版本的 Ajax,但我找不到与 RegularExpressionValidators 和 Ajax 版本相关的任何内容。
PS:验证器和控件都在 UpdatePanel 中。
PS 2:对于旧版本,它会在控件中放置一个 0,然后在表达式不匹配时显示它旁边的红色星号。
编辑:
这是控件,完全复制:
<asp:RegularExpressionValidator ID="ValidateFooOrder"
runat="server" ControlToValidate="txtFooNum"
Text="*" ErrorMessage="Invalid Foo number"
ValidationExpression="^\d{0,4}$" ValidationGroup="GenerateFooFile" />
它还附加了一个NumericUpAndDownExtender:
<ajaxToolkit:NumericUpDownExtender ID="NumericExtenderFooNum"
runat="server" TargetControlID="txtFooNum"
TargetButtonDownID="FooBack" TargetButtonUpID="FooForward" />
【问题讨论】:
-
我知道这是一个老问题,但如果您仍然遇到问题:您可以发布您的设计器代码吗?看看它是否是控件处理正则表达式或编写 javacript 方式的变化会很有趣。
-
@Patricker 好的,添加了代码。抱歉,拖了很久。
-
我假设问题仍然存在,因为您更新了您的问题,对吧?
-
@Patricker 是的,它仍在发生。在考虑到我们必须通过切换 Ajax 版本来解决一些小问题后,我们最终根本没有更新它。
-
@Cyborgx37 哦,我在另一条评论上写错了。我的意思是它不是特定于供应商的控制。那我就加个ajaxtoolkit标签吧。
标签: asp.net vb.net asp.net-ajax reg-expressionvalidator