2009-02-01 3 views
0

Je crée un contrôle composite simple doté des fonctionnalités AJAX. Lorsque vous essayez d'implémenter un MaskedEditValidator, la propriété DisplayMoney ne fonctionne pas. Le rendu MaskedEdit, sans le signe dollar attaché. Des idées? Voici mon code:MaskedEditValidator DisplayMoney n'apparaît pas dans Composite Control

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; 

} 
+0

Votre droit à la fois, mais je dois donner à colithium parce qu'il a affiché en premier. J'aime comment tout sort quand une prime est appliquée. Merci a tous. +1 – BBetances

Répondre

1

Essayez d'ajouter la ligne suivante:

priceMask.MaskType = MaskedEditType.Number; 

En option, définissez ClearMaskOnLostFocus false si tel est le comportement que vous voulez (il garde le signe dollar, même lorsqu'ils ne sont pas concentrés).

Le paramètre de propriété DisplayMoney définit uniquement la propriété si MaskType est égal à MaskedEditType.Number.

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

Le poseur de propriété DisplayMoney définit la propriété que si MaskType est égal à MaskedEditType.Number.

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

Vous devez définir:

priceMask.MaskType = MaskedEditType.Number; 
Questions connexes