2010-03-09 6 views
1

Liaison de données int32 à MaskedEditExtender activé TextBox

J'ai un schéma maître/détail pour éditer un asp: GridView en utilisant un asp: DetailsView. Un de mes champs est pour un numéro de téléphone de type int64 (toujours 10 chiffres). Je voudrais que ce champ soit toujours affiché comme (###)###-####. Mon problème est que le premier chiffre du numéro de téléphone est toujours tronqué pour mon champ d'élément d'édition que j'ai utilisé un MaskedEditExtender pour obtenir le formatage.

Voici mon EditItemTemplate pour les détails voir:

<cc1:MaskedEditExtender TargetControlID="edtPROJ_Leader_Phone" Mask="(999)999-9999" runat="server" ClearMaskOnLostFocus="false" ClipboardEnabled="true" MaskType="Number" /> 
<asp:TextBox ID="edtPROJ_Leader_Phone" runat="server" Text='<%# Bind("PROJ_Leader_Phone") %>' ></asp:TextBox> 

Quand mes détails voir s'affiche pour l'édition, la zone de texte affiche (_23)456-7890 pour l'entier 1234567890. A noter également que si la propriété MaskType = » Nombre »est supprimé, la zone de texte affiche: (234)567-890_. Je voudrais bien sûr avoir la boîte de texte show (123)-546-67890 après la liaison.

Répondre

2

Le problème peut être que vous n'utilisez pas "Caractères d'échappement" pour votre "(", ")" et "-".

voudrez peut-être changer votre masque de

Mask="(999)999-9999" 

à

Mask="\(999\)999\-9999" 

Selon la documentation, il n'y a pas "(", ")" ou "-", vous pouvez lui dire de faire quelque chose involontaire. Dans la section des masques ...

/- séparateur Date de

: - séparateur de temps

.- séparateur décimal

, - séparateur de milliers

\ - Caractère d'échappement

{- delimiter initial pour la répétition des masques

} - delimiter final pour la répétition des masques

Exemples

9999999 - Sept caractères numériques

99/99 - Quatre caractères numériques séparés au milieu par un "/"

http://www.asp.net/ajaxlibrary/act_MaskedEdit.ashx

0

J'ai eu le même problème, et ce résolu pour moi changeais la propriété MaskedEditExtender
« ClearMaskOnLostFocus » True.

0

J'ai eu le même problème aussi, et:

  1. Faire déspécialisation dans le masque comme:

    Mask="\(999\)999\-9999", 
    
  2. Avec ClearMaskOnLostFocus défini sur true.

Résolu le problème.

Merci pour tout.

Questions connexes