MaskedEditValidator DisplayMoney не отображается в Composite Control - PullRequest
0 голосов
/ 01 февраля 2009

Я создаю простой составной элемент управления с функциональностью 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;

}

Ответы [ 2 ]

1 голос
/ 03 февраля 2009

Установщик свойства DisplayMoney устанавливает свойство, только если MaskType равен MaskedEditType.Number .

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

Так что вам нужно установить:

priceMask.MaskType = MaskedEditType.Number;
1 голос
/ 03 февраля 2009

Попробуйте добавить следующую строку:

priceMask.MaskType = MaskedEditType.Number;

При желании, установите ClearMaskOnLostFocus в false, если это поведение, которое вы хотите (он сохраняет знак доллара, даже когда не сфокусирован).

Установщик свойств DisplayMoney устанавливает свойство только в том случае, если MaskType равен MaskedEditType.Number.

set
{
   if (MaskType == MaskedEditType.Number)
   {
     SetPropertyValue("DisplayMoney", value);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...