0

我正在创建一个具有 AJAX 功能的简单复合控件。尝试实现 MaskedEditValidator 时,DisplayMoney 属性不起作用。MaskedEdit 呈现,没有附加美元符号。有任何想法吗?这是我的代码:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    priceTextbox.ID = this.ID + "_price";
    quantityTextbox.ID = this.ID + "_quantity";
    timeTextbox.ID = this.ID + "_time";
    submitButton.ID = this.ID + "_submit";
    submitButton.Text = "Submit";
    priceMask.TargetControlID = priceTextbox.ClientID.ToString();
    priceMask.ID = priceMask.TargetControlID.ToString() + "_extender";
    priceMask.BehaviorID = "priceMaskExtender";
    priceMask.Mask = "99.99";
    priceMask.DisplayMoney = MaskedEditShowSymbol.Left;

}
4

2 回答 2

1

尝试添加以下行:

priceMask.MaskType = MaskedEditType.Number;

(可选)如果这是您想要的行为,则将 ClearMaskOnLostFocus 设置为 false (即使没有聚焦,它也会保留美元符号)。

DisplayMoney 属性设置器仅在 MaskType 等于 MaskedEditType.Number 时设置属性。

set
{
   if (MaskType == MaskedEditType.Number)
   {
     SetPropertyValue("DisplayMoney", value);
   }
}
于 2009-02-03T03:27:37.430 回答
1

DisplayMoney 属性设置器仅在 MaskType 等于MaskedEditType.Number时设置属性。

set
{
   if (MaskType == MaskedEditType.Number)
   {
     SetPropertyValue("DisplayMoney", value);
   }
}

所以你需要设置:

priceMask.MaskType = MaskedEditType.Number;
于 2009-02-03T15:55:44.177 回答