Search Results for 'ASP.NET'

2 POSTS

  1. 2007.09.09 [Ajax.Net] JavaScript로 Animation 제어하기
  2. 2007.09.03 ExtremeSwank OpenID Consumer For ASP.Net 2.0 3

[Ajax.Net] JavaScript로 Animation 제어하기

Posted 알 수 없는 사용자 : 2007. 9. 9. 18:28, Filed under: 개발

시작하기

Ajax.net 에서 Animation을 제어 할 수 있는 방법은 두 가지가 있습니다. 첫 번째는 AnimationExtender를 사용하는 방법이고, 다른 한 방법은 JavaScript 로 직접 제어 하는 방법입니다.

 

Ajax가 대중적으로 확산됨과 함께 Ajax.Net도 덩달아 많은 관심을 받고 있습니다. 이에 따라 AnimationExtender와 같은 ControlToolkit의 자료 또한 많이 공개되어 있습니다. 그래서 저는 JavaScript Animation을 직접 제어하는 방법을 설명하겠습니다.

 

Ajax.Net을 사용하기 위해선 다음과 같은 프로그램들이 설치되어 있어야 합니다.

 

1.     VisualStudio 2005 혹은 Visual WebDeveloper Express 2005 이상의 버전이 설치되어 있어야 합니다. (에서 무료로 다운로드 받을 수 있습니다.)

2.     ASP.NET Extension v1.0 이상의 버전이 설치되어 있어야 합니다. (에서 무료로 다운로드 받을 수 있습니다.).

3.     ASP.NET AJAX Control Toolkit이 설치되어 있어야 합니다. (에서 무료로 다운로드 받을 수 있습니다.)


Animation Hierarchy

Ajax.Net Animation은 다음과 같은 계층으로 구성되어 있습니다.

 

Animation --- Parent Animation   --- Parallel Animation      --- Move Animation
                                                                              --- Resize Animation

                                             --- Sequence Animation  --- Pulse Animation
                                            
--- Selection Animation   --- Condition Animation
                                                                              --- Case Animation

              --- Fade Animation      --- FadeIn Animation

                                             --- FadeOut Animation

              --- Property Animation --- Discrete Animation

                                             --- Interpolated Animation

              --- Color Animation   
             
--- Length Animation 
             
--- Scale Animation
              --- Action                 --- Enable Action

                                            --- Hide Action

                                            --- Style Action

                                            --- Opacity Action

                                            --- Script Action

 

 크게 3가지로 분리할 수 있는데, SequenceAnimation이나 parallelAnimation과 같이 Animation들의 순서를 제어할 수 있는 Container클래스와, Fade In/Out 과 같은 실질적으로 화면을 구성하는 클래스, 그리고 시간을 기준으로 동작하는 Animation과는 달리 실행한 그 시점. 단 한번만 효력을 발휘하는 Action이 있습니다.

 

다음 URL에서 각각의 Animation을 테스트 해 보십시오.

http://66.232.144.57/suda/animation.aspx

 

사용자 삽입 이미지

Animation Example

 
사용자 삽입 이미지

FadeIn, FadeOut, Color 실행결과













Hello Ajax

간단한 Hello Ajax라는 글씨를 FadeIn하는 Animation을 작성해 보도록 하겠습니다.

 

1.     새 웹 사이트 생성합니다.

2.     폼에 TookitScriptManager를 등록합니다. 혹시 ToolkitScriptManager가 없다면, 도구상자에서 우클릭 -> 항목선택 -> 다운받은 ControlToolkit 디렉토리안의 /SampleWebsite /Bin /AjaxControlToolkit.dll 을 선택하여 추가하십시오.

3.     폼에 아무런 ControlToolkitExtender가 없으면 Animation관련 자바스크립트가 로드되지 않기 때문에 임의로 아무 Extender나 폼에 올려둡니다.

<!-- AjaxControlToolkit 라이브러리를 사용하기 위해 아무 extender나 폼에 올려 두어야 함 -->

         <asp:Panel ID="Panel1" runat="server" Width="1px" Height="1px" Visible="false" />

        <cc1:AnimationExtender ID="AnimationExtender1" runat="server" TargetControlID="Panel1">

            <Animations>

                <OnHoverOver>

                    <FadeIn MinimumOpacity="0.1"/>

                </OnHoverOver>

            </Animations>

        </cc1:AnimationExtender>

4.     FadeIn시킬 Div를 추가하고 Text를 설정합니다.

<div id="fadein" style="opacity:0;">

<h2>Hello Ajax</h2>

</div>

5.     <head></head>태그 사이에 다음과 같은 자바 스크립트를 추가합니다.


<script language="javascript">

function FadeIn()

{

// Animation을 재생합니다.

    AjaxControlToolkit.Animation.FadeInAnimation.play($get('fadein'), 1, 25);}

 

function Initialize()

{

    $addHandler($get('fadein'),"click",FadeIn);

}

</script>

6.     Initialize를 호출하기 위해 body태그에 onload이벤트를 설정합니다.


<body onload="Initialize();">


코드설명

AjaxControlToolkit.Animation.FadeInAnimation.play()  

FadeInAnimation을 재생하는 메소드 입니다. Play외에도 Stop Pause와 같은 제어 메소드들과, onStart, onStep, onEnd와 같은 이벤트리스너들도 등록할 수 있습니다. API Reference는 다음 사이트를 참고하시길 바랍니다.

http://asp.net/AJAX/Control-Toolkit/Live/Walkthrough/AnimationReference.aspx

 

$get(‘fadein’)

 Sys.UI.DomElement.getElementById() 메소드의 축약 형태입니다. $get() 외에도 다른 축약형을 알고 싶으시면 다음 사이트를 참고하시길 바랍니다.

http://asp.net/AJAX/Documentation/Live/ClientReference/default.aspx

 

.play($get(‘fadein’), 1, 25)

 두 번째 인자인 1 duration입니다. Duration은 해당 Animation이 몇 초간 진행될 것인지를 결정하는 단위 입니다. 세 번째 인자인 25 fps입니다.

 

$addHandler($get(‘fadein’),”click”,FadeIn)

 $addHandler Sys.UI.DomEvent.addHandler()메소드의 축약형 입니다. 인자로 3개를 받는데, 첫 번째 인자는 이벤트를 핸들링할 DomObject입니다. 두 번째 인자는 이벤트의 이름입니다. 세 번째 인자는 이벤트가 발생할 시 호출할 함수 이름입니다.

 

 

결론

이것으로 대략적인 Javascript Animation을 제어하는 방법에 대해 알아 보았습니다. 혹시 제가 잘못 알고 있는 내용이나, 추가할 점이 있으시면 댓글 혹은 트랙백으로 남겨 주십시오.

ps: 워드 2007에서 바로 포스팅 하니까 다 깨지는군요-_-;;


첨부

Posted by : 알 수 없는 사용자

Response : ,

ExtremeSwank OpenID Consumer For ASP.Net 2.0

Posted 알 수 없는 사용자 : 2007. 9. 3. 00:01, Filed under: 개발

.Net으로 OpenID Library를 구현하시거나 찾아보신 분들은 생각보다 구현체가 없다는 사실에 놀랐을 것입니다.

 

이 글을 쓰는 시점으로 가장 많이 사용되는 라이브러리는 JanRain사에서 구현한 JanRain OpenID 라이브러리입니다. 현재 이미 RubyPython과 같은 언어에서 성공적으로 사용 된 바 있고, 6개 이상의 언어로 포팅되어 있으며 Cross Platform을 지원합니다.

 

물론 .Net용 구현체도 있습니다. 다만 개발 초기부터 Cross Platform 지원이 필수였기 때문에 .Net용 구현체는 다른 ASPControl과는 다음과 같은 차이가 있습니다.


1.       Boo 라는 언어로 구현되어 있습니다.

2.       Mono Framework을 사용합니다.

3.       Mono.security라는 Mono 전용 namespace가 사용되었습니다.

 

현재 OpenID스팩은 아직 완벽히 정립된 상태가 아니며 현재도 끊임없이 변경되고 있습니다. 이런 상황에서 순수 .Net이 아닌 Mono로 빌드되어 있고, Boo라는 독특한 언어로 구현되어 있다는 점은 유지보수성에서 마이너스 요소가 될 수 밖에 없습니다. 이런 문제점은 Toy-project처럼 간단한 테스트 프로젝트라면 상관없지만 실제 상용 프로젝트에 바로 적용시키기엔 무리가 있습니다.

 

제가 오늘 소개드릴 라이브러리는 ExtremeSwankOpenID Consumer입니다.

( http://extremeswank.com/aspnet_openid.html 에서 다운로드 하실 수 있습니다.

 

특징으로는 다음과 같습니다.

 

1.       C#ASP.Net으로 구현된 모든 소스가 공개되어 있습니다.

2.       OpenID 1.1 2.0Stateful Stateless 모드를 완벽히 지원합니다.

3.       구현체가 Stateless 만을 위한 Simple ConsumerFull Consumer 두 가지로 나뉘어 있습니다. 이는 실제 동작되는 서버의 성능상의 이점을 가져다 줍니다.

4.       사용하기 쉽도록 UserControl이 구현되어 있습니다.

5.       거의 유일하게 API Documentation이 만들어 져 있습니다. (!!!!!)

 

그럼 간단한 예제를 만들어 보겠습니다.

 

먼저 Visual StudioOpenID라는 이름의 웹 사이트를 생성합니다.
만약 Visual Studio가 없으면 다음 링크에서 WebDeveloper Express버전을 다운받으십시오.  
http://msdn2.microsoft.com/ko-kr/express/aa975050.aspx

 

1.       솔류션 익스플로러에서 우클릭 -> ASP.Net 폴더 추가 -> Bin 을 선택하여 참조 디렉터리를 생성합니다.

2.       Bin디렉토리에서 우클릭 -> 참조추가 -> 찾아보기 를 통해 다운받은 ExtremeSwank.Authentication.OpenID.dll을 추가합니다.

3.       작업중인 웹 디렉토리에 OpenIDControl.ascxOpenIDControl.ascx.cs 파일을 복사합니다.

4.       Default페이지에 추가한 컨트롤을 올려 놓습니다.

 

결과 화면은 다음과 같습니다.


사진을 클릭하시면 원본이미지로 좀 더 자세히 보실 수 있습니다.

사용자 삽입 이미지

Visual Studio 에서 오픈아이디 로그인폼을 만드는 모습

 

실행하면 다음과 같습니다.


사용자 삽입 이미지

웹브라우져에서 확인하는 로그인창

 
사용자 삽입 이미지

myid.net을 통한 로그인 시도

사용자 삽입 이미지

myid.net의 비밀번호 입력 페이지

사용자 삽입 이미지

정상적으로 로그인 된 모습

ExtremeSwank의 라이브러리는 모든 소스가 공개되어 있고 API문서 또한 잘 정리되어 있기 때문에 사용하시는데 크게 어렵지 않을것이라 생각됩니다.

Posted by : 알 수 없는 사용자

Response : ,

Notice

  1. 팀블로그 시작합니다.

Tag cloud

Recent Posts

Recent Comments

Recent Trackbacks

Calendar

«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Bookmarks

  1. 신선한바람
  2. onionmen
  3. onionmen 미투데이
  4. 신선한바람 미투데이
  5. 횸피그
  6. 횸피그 미투데이

Site Stats

TOTAL HIT
TODAY HIT
YESTERDAY HIT