![](/img/trans.png)
[英]Thousand separator with MaskedEditExtender from the ASP.NET AJAX Control Toolkit
[英]ASP.NET AJAX ToolKit: Numeric MaskedEditExtender issue
我有一个AJAX ToolKit MaskedEditExtender控件:
<asp:TextBox ID="payRateTextBox" runat="server"
CssClass="valueControl"></asp:TextBox>
<asp:MaskedEditExtender ID="payRateMaskedEditExtender" runat="server"
AcceptNegative="Left" InputDirection="RightToLeft"
Mask="999.99" MaskType="Number"
TargetControlID="payRateTextBox" />
获得焦点时,空文本如下所示:
__ _ _ 。 _ _
问题是扩展剂剂量允许用户输入0作为该点左侧第一个数字中的第一个输入字符(X所在的位置)。
___ X. ___
这是一个演示。
建议很赞赏..
这是一个已知的问题。 不幸的是,它似乎还没有任何解决方案。
看看这些链接:
http://ajaxcontroltoolkit.codeplex.com/workitem/25108
尝试将此代码放入您的页面
<script type="text/javascript">
Sys.Application.add_load(function () {
Sys.Extended.UI.MaskedEditBehavior.prototype._MoveDecimalPos =
function () {
var e = this.get_element();
var wrapper = Sys.Extended.UI.TextBoxWrapper.get_Wrapper(e);
var curpos = this._LogicFirstPos;
var max = this._LogicLastPos;
var posDc = -1;
while (curpos < max) {
if (wrapper.get_Value().substring(curpos, curpos + 1) ==
this.get_CultureDecimalPlaceholder()) {
posDc = curpos + 1;
break;
}
curpos++;
}
if (posDc == -1) {
return;
}
this.setSelectionRange(posDc, posDc);
};
});
</script>
我知道我无法获得自己的赏金,所以,我的答案仅仅是为了解决这个问题。
只需取消分配InputDirection
属性即可解决问题 ! 我想在使用浮点时使用它是不合适的..
当然如果我知道在第一时间我会节省50个声誉;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.