【问题标题】:AjaxToolkit.MaskedEditExtender doesn't accept maskAjaxToolkit.MaskedEditExtender 不接受掩码
【发布时间】:2011-08-16 07:50:59
【问题描述】:

一夜之间,ASP.NET AJAX 扩展器 MaskedEdit 停止工作。

<asp:MaskedEditExtender ID="dateTB_Maskedextender" runat="server" 
    MaskType="Date" Mask="9999/99/99" TargetControlID="dateTB" />

这是我的标记代码,非常简单,但是当您在文本框中输入日期(例如 2011.08.16)并更改 controlfocus 时,最后两位数字(天)神奇地变为零(例如 2011.08.00)。看到 mask="99/99/9999" 以某种方式有效,我并没有注定要失败,但我更愿意保留它 yyyy.MM.dd 因为它是更合乎逻辑的日期格式..

任何关于它为什么可能已经停止工作以及如何修复它的信息/理论都将被取消

编辑2*
添加文本框标记

<asp:TextBox ID="dateTB" runat="server" />

【问题讨论】:

  • 您也可以为您的文本框发布标记吗?
  • 在edit2中添加了它,但这是最低限度的,所以我怀疑这是什么问题

标签: c# .net asp.net ajax maskededitextender


【解决方案1】:

对于 MaskeditExtender 掩码依赖于文化名称,默认情况下它是 en-US 并且为此 支持的默认掩码为 99/99/9999。

所以添加 CultureName="sv-SE" 然后它将支持 Mask="9999/99/99"

谢谢, 阿伦

【讨论】:

  • 谢谢,效果很好,我自己在喝了(十多)杯咖啡后设法找到了那个解决方案,但我仍然很好奇它如何能立即停止使用以前的设置......不win 更新发生在工作和不工作之间...令人费解
  • 我无法理解您之前的设置,您能否详细解释一下以便我为您提供帮助?
  • 昨天有点晕,今天看看能不能说清楚点。在我一直在做的几个项目中,我一直在使用掩码 9999/99/99,除了 MaskedEditExtenders 默认设置之外没有任何形式的文化设置,它工作正常......直到昨天,所以我实际上是好奇的是它如何停止工作,而我的源代码/VS2010/windows/devIS 没有任何明显的变化。我更喜欢我以前的设置,因为它更美观。但是,鉴于我当前的解决方案具有几乎相同的布局,我不会再讨论这么久了
  • 您的陈述以这种方式矛盾。您告诉您没有对 VS2010 进行任何更改,在第二行中您告诉我喜欢我以前的设置,那么您在系统中究竟做了什么?我想这应该是系统设置偏好问题,因为文化信息依赖于此..
  • 我之前的设置含义,默认文化设置的 9999/99/99 掩码,代码中定义的“sv-SE”文化设置的当前设置。什么都没有,我强调什么都没有改变...我只更改了 maskculture 设置,因为我之前的设置停止工作。
猜你喜欢
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 2017-03-31
  • 1970-01-01
相关资源
最近更新 更多