【问题标题】:AJAX MaskedEditExtender for phone numbers用于电话号码的 AJAX MaskedEditExtender
【发布时间】:2012-04-02 16:10:52
【问题描述】:

我已经阅读了 asp.net 上的 Masked Edit and Phone Number 控件,并在此主题上浏览了一段时间,但没有找到关于为什么会发生这种行为的答案。
我定义了以下 MaskedEditExtender 用于电话号码。我希望在将信息输入文本框之前显示掩码,并在输入时和有效输入后都保留。

<ajax:MaskedEditExtender ID="mee1" runat="server" Mask="999-999-9999" 
 AcceptNegative="None" MessageValidatorTip="true" TargetControlID="tbBox"
 MaskType="Number" ClearMaskOnLostFocus="false" ClearTextOnInvalid="false">

我相信像上面这样的简单定义会起作用,但表单的行为是不稳定的。输入值之前掩码可见(当文本框为空时),但在输入掩码时会消失。此外,在输入后,除非我单击文本框然后再返回,否则掩码将不再可见。一旦我让面具随着条目重新出现,它似乎仍然存在。

这个控件是坏了还是我缺少一些基本的东西?

非常感谢您的帮助!

【问题讨论】:

  • 我发现(通过选择性地注释掉代码)它与 TargetControlID 文本框上的 PreRender 方法有关。该方法通过 TextBox.Attributes.Add() 应用样式根据输入调整文本框的宽度。这仍然不能解释为什么这会导致面具出现问题。

标签: .net ajax maskededitextender


【解决方案1】:

我希望这对其他人有所帮助。此问题是由 PreRender 方法中的单个语句引起的。

tbBox.MaxLength = <some integer>;

显然,通过将这个简单的值更改为文本框的属性会引起各种奇怪。
如果有人知道为什么这会导致失败,我很想听听。 谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多