'ASP.NET 3.5'에 해당되는 글 26건
- 2008/08/26 ASP.NET AJAX Control Toolkit : MaskedEdit 1부
- 2008/07/17 ASP.NET AJAX Control Toolkit : ListSearchExtender 2부
- 2008/07/16 ASP.NET AJAX Control Toolkit : ListSearchExtender 1부
- 2008/06/25 ASP.NET AJAX Control Toolkit : HoverMenuExtender 2부
- 2008/06/23 ASP.NET AJAX Control Toolkit : HoverMenuExtender 1부
- 2008/06/19 ASP.NET AJAX Control Toolkit : FilteredTextBoxExtender
- 2008/06/16 ASP.NET AJAX Control Toolkit : DynamicPopulateExtender 3부
- 2008/06/12 ASP.NET AJAX Control Toolkit : DynamicPopulateExtender 2부
- 2008/06/09 ASP.NET AJAX Control Toolkit : DynamicPopulateExtender 1부
- 2008/05/28 ASP.NET AJAX Control Toolkit : DropDownExtender
이번에 소개할 MaskedEditExtender는 바로 이러한 포멧을 미리 정의하고 그 포멧에 맞게 입력할 수 있도록 텍스트박스에 추가적인 기능을 부여한다.
MaskedEditExtender 속성
TargetControlID - MaskedEditExtender를 적용할 텍스트박스의 ID
MaskType - 텍스트박스에 적용할 유효 타입
None - 유형 없음.
Number - 숫자 유형
Date - 날짜 유형
Time - 시간 유형
DateTime - 날짜와 시간 유형
Mask - 문자와 제한자를 활용하여 입력받을 유형을 정의한다.
다음은 문자와 제한자의 설명이다.
9 - 숫자만 입력
L - 문자만 입력
$ - 문자와 공백만 입력
C - 사용자 지정 문자만 입력
A - 문자와 사용자 지정 문자만 입력
N - 숫자와 사용자 지정 문자만 입력
? - 모든 문자 입력 가능
/ - 날짜 구분자
: - 시간 구분자
. - 소수 구분자
, 1000단위 구분자
\ - 선언된 구분자를 사용하기 위해 구분자 앞에 사용하는 특수문자
{ - 선언된 문자형식코드의 반복을 나타내기위한 특수문자(시작)
} - 선언된 문자형식코드의 반복을 나타내기위한 특수문자(끝)
AcceptAMPM - AM/PM표시를 할 것인지 여부 정의, MaskType이 Time나 DateTime로 선언되어야 표시되며, 지역설정의 영향을 받는다.
AcceptNegative - 음수부호의 사용여부를 나타낸다.
None - 음수부호를 표시하지 않는다.
Left - 음수부호를 왼쪽에 표시한다.
Right - 음수보호를 오른쪽에 표시한다.
AutoComplete - MaskType에 따라 텍스트박스에 입력하지 않은 나머지 빈값을 자동으로 채워준다.
MaskType="Number" - 자동으로 빈값에 0을 채운다.
MaskType="Time" - 자동으로 빈값에 현재 시간을 채운다. 단, 시간은 분단위 까지만 채운다.
MaskType="Date" - 자동으로 빈값에 현재 날짜를 채운다.
MaskType="DateTime" - 자동으로 빈값에 현재 날짜와 시간을 채운다. 단, 시간은 분단위 까지만 채운다.
AutoCompleteValue - AutoComplete이 사용가능한 상태에서 기본 문자열을 선언한다.
ClearMaskOnLostFocus - 텍스트박스에서 포커스를 잃었을 경우, 마스크를 유지할 것인지를 선언한다.
true - 입력을 완료하지 않고 포커스가 벗어나면, 텍스트박스에서 마스크를 지운다.
false - 입력을 완료하지 않고 포커스가 벗어나도 텍스트박스에서 마스크는 유지된다.
ClearTextOnInvalid - 유효성검사에서 실패할 경우, 텍스트박스의 값을 지울것인지(true), 유지할 것인지(false)를 선언한다. 기본값은 false이다.
ClipboardEnabled - 클립보드에 복사하기/붙여넣기의 허용여부를 선언한다. 하지만, ture/false 설정이 실제로 영향을 미치지는 않고, 브라우저 별 결과가 다르게 나타난다.
Internet Explorer - 클립보드 엑세스 허용을 하면 ture/false에 관계없이 텍스트박스에 바로 붙여넣기가 가능하다. 클립보트 엑세스를 허용하지 않으면 붙여넣기 할 수 없다.
Fire Fox - true/false에 관계없이 붙여넣기 시 기본 프롬프트창이 뜨고, 이 프롬프트 창에 입력한 값이 텍스트박스에 입력된다.
Safari - true/false에 관계없이 붙여넣기를 사용할 수 없다. 프롬프트창도 뜨지 않는다.
ClipboardText - 텍스트박스에 붙여넣기 할 때 프롬프트창이 뜨게 되는데, 이 프롬프트창의 텍스트를 선언한다. 붙여넣기할때, 프롬프트창은 파이어폭스에서만 생성된다.
DisplayMoney - 해당 지역의 통화 기호를 표기한다.
None - 통화 기호를 표기하지 않는다.
Left - 통화 기호를 왼쪽에 표기한다.
Right - 통화 기호를 오른쪽에 표기한다.
ErrorTooltipCssClass - 에러 툴팁 메시지에 적용할 CSS Class
ErrorTooltipEnabled - 에러 툴팁의 사용여부 선언, 유효성 오류가 발견된 텍스트 박스에 마우스가 올라갈 경우 툴팁이 표시된다.(단, MaskedEditValidator의 InvalidValueMessage를 선언하지 않으면 에러 메시지는 표시되지 않는다.)
InputDirection - 텍스트의 입력 방향 선언
LeftToRight - 왼쪽에서 오늘쪽으로
RightToLeft - 오른쪽에서 왼쪽으로
MessageValidatorTip - 텍스트박스에 커서가 이동하면, 툴팁 메시지를 표시한다. 기본값은 true(단, MaskedEditValidator의 TooltipMessage를 선언하지 않으면 툴팁 메시지는 표시되지 않는다.)
PromptCharacter - 입력되지 않은 Mask 문자 선언, 선언하지 않으면 기본적으로 언더바(_)가 된다.
UserDateFormat - 날짜 포멧 선언
UserTimeFormat - 시간 포멧 선언
이상으로 MaskedEditExtender의 속성을 알아보았다. MaskedEditExtender는 MaskedEditValidator와 함께 사용할 수 있는데(ErrorTooltipEnabled,MessageValidatorTip 등) 2부에서는 MaskedEditValidator에 대해서 알아보도록 하겠다.
<style type="text/css">
.promptStyle
{
font-style:italic;
color:Gray;
}
.controlStyle
{
padding-top:20px;
}
</style>
<div class="controlStyle">
<asp:DropDownList ID="ddlControlToolkit" runat="server">
</asp:DropDownList>
<ajaxToolkit:ListSearchExtender ID="ListSearchExtender1" runat="server"
TargetControlID="ddlControlToolkit"
PromptText="DropDownList Search"
PromptCssClass="promptStyle"
PromptPosition="Top">
<Animations>
<OnShow>
<Sequence>
<HideAction Visible="True"
/>
<FadeIn Duration=".5"
/>
</Sequence>
</OnShow>
<OnHide>
<FadeOut Duration=".5"
/>
</OnHide>
</Animations>
</ajaxToolkit:ListSearchExtender>
</div>
<div class="controlStyle">
<asp:ListBox ID="lstControlToolkit" runat="server"></asp:ListBox>
<ajaxToolkit:ListSearchExtender ID="ListSearchExtender2" runat="server"
TargetControlID="lstControlToolkit"
PromptText="ListBox Search"
PromptCssClass="promptStyle"
PromptPosition="Top">
<Animations>
<OnShow>
<Sequence>
<HideAction Visible="True"
/>
<FadeIn Duration=".5"
/>
</Sequence>
</OnShow>
<OnHide>
<FadeOut Duration=".5"
/>
</OnHide>
</Animations>
</ajaxToolkit:ListSearchExtender>
protected void Page_Load(object sender, EventArgs
e)
{
if
(!IsPostBack)
{
ddlControlToolkit.DataSource =
getTextList();
ddlControlToolkit.DataBind();
lstControlToolkit.DataSource =
getTextList();
lstControlToolkit.DataBind();
}
protected string[] getTextList()
{
string[]
tempTextList = new string[]
{
"Accordion",
"AlwaysVisibleControl",
"Animation",
"AutoComplete",
"Calendar",
"CascadingDropDown",
"CollapsiblePanel",
"ConfirmButton",
"DragPanel",
"DropDown",
