1

asp:DetailsView を使用して asp:GridView を編集するためのマスター/詳細スキームがあります。私のフィールドの 1 つは、int64 型 (常に 10 桁) の電話番号用です。このフィールドを常に として表示したいと思います(###)###-####。私の問題は、MaskedEditExtender を使用して書式設定を行う編集項目フィールドで、電話番号の最初の数字が常に切り捨てられることです。

詳細ビューの EditItemTemplate は次のとおりです。

<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>

詳細ビューを編集用に表示すると、テキスト ボックス(_23)456-7890に整数 1234567890 が表示されます。また、MaskType="Number" プロパティを削除すると、テキスト ボックスに次のように表示されることにも注意してください(234)567-890_。もちろん(123)-546-67890、バインド後にテキストボックスを表示します。

4

4 に答える 4

2

「(」、「)」、および「-」に「エスケープ文字」を使用していないことが問題である可能性があります。

マスクを変更したい場合があります

Mask="(999)999-9999"

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

ドキュメントによると、「(」、「)」、または「-」がないため、意図しないことを行うように指示している可能性があります。マスクのコーナーから…

/ - 日付区切り記号

: - 時間区切り

. - 小数点区切り

, - 桁区切り記号

\ - エスケープ文字

{ - マスクの繰り返しの最初の区切り文字

} - マスクの繰り返しの最終区切り文字

9999999 - 7 つの数字

99/99 - 途中で「/」で区切られた 4 つの数字

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

于 2012-06-12T18:04:39.810 に答える
1

この問題は、http: //www.codeplex.com/AjaxControlToolkit/WorkItem/View.aspx?WorkItemId= 11819 に関連するバグのようです。

于 2010-03-11T21:24:15.857 に答える
0

私は同じ問題を抱えていましたが、それを解決したのは、MaskedEditExtender のプロパティ
「ClearMaskOnLostFocus」を True に変更することでした。

于 2010-05-03T13:01:53.643 に答える