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 に答える