Presentation is loading. Please wait.

Presentation is loading. Please wait.

ASP.NET Mobile Controls

Similar presentations


Presentation on theme: "ASP.NET Mobile Controls"— Presentation transcript:

1

2 ASP.NET Mobile Controls
Sung Woo Cho MVP Lead Microsoft Korea

3 Mobile Web과 Smart Client의 비교
폭넓은 디바이스 지원 온라인 지원 서버 측 로직 브라우져 기반 UI 클라이언트 측 설치 불필요 ASP.NET Mobile Controls (Mobile Internet Toolkit) Mobile smart client 특정 rich clients 오프라인 및 온라인 지원 클라이언트 측 로직 및 데이타 다양한 UI 기반 클라이언트 측 설치 필요 Smart Device Extensions 과 .NET Compact Framework XML Web Services 와 Data Access Visual Studio .NET

4 Agenda Overview of ASP.NET Mobile Controls Adaptive Rendering Model
User Control Custom Control Inheritance Control Composite Control Direct Control

5 Mobile Data 아키텍쳐

6 ASP.NET Mobile Controls:
설문 조사 웹 서비스

7 ASP.NET Mobile Controls
.NET Framework Services Framework ASP.NET Common Language Runtime System Services Windows Forms & .NET Compact Framework Base Data Debug Web Forms Mobile Web Services Mobile Web Form 개발 편의성을 위한 Visual Studio .NET과의 통합 다양한 디바이스와 mark-up languages 언어 지원

8 Web Form과 Mobile Web Form 비교
<Form runat="server"> <asp:Label runat=“server"> Hello, World </asp:Label> </Form> Mobile Web Form <mobile:Form runat="server"> <mobile:Label runat=“server"> Hello, Mobile World </mobile:Label> </mobile:Form>

9 Adaptive Rendering Model
ASP.NET Mobile Control은 기능성에 기반한 컨트롤 디바이스에 기반한 컨트롤 output 생성 Device Adapter- Control output을 생성하기 위한 로직을 수행하는 컴포넌트 Markup 언어에 따라 Device Adapter의 그룹화 HTML 3.2, cHTML, WML (1.1 and 1.2), xHtml Configuration file maps devices, controls and device adapters – 런타임시 바인딩

10 Adaptive Control Model PhoneCall 컨트롤
ASP.NET and IIS WML 응답 (WTAI 태그) Mobile Capabilities WML Browser 와 Device 탐색 WAP Device Adapter 적용 적절한 Device Adapter 선택 HTTP 요청 컨트롤 초기화 Device Adapter 적용 PhoneCall cHTML HTML HTML 응답 Mobile.ASPX

11 Adaptive Control Model

12 Device Extensibility Model
Add New Device Adapter New Mobile Capabilities ASP.NET and IIS Mobile Capabilities WML PhoneCall cHTML HTML New Device Adapter(s) Mobile.ASPX

13 MobileCapabilites Class
Mobile Capabilities 요청하는 Device에 대한 정보 제공 Config 파일 Machine.config Device와 브라우져에 대한 정보 Machine 수준의 설정 device adapters에 대한 정보 Web.config 해당 웹 어플리케이션에만 적용 MobileCapabilities 클래스 Device와 브라우져에 대한 정보를 해당 어플리케이션에게 전달 The Runtime Mobile Web Forms Mobile Capabilities Device Adapters MobileCapabilites Class Configuration Files machine.config web.config

14 Filters 특정 Device에 관련된 Rendering
개발 시 Filter를 이용한 해당 device 선택 및 적용 새로운 Filter 생성 기존에 정의된 Filter 사용 컨트롤에 Device 특화된 설정 적용 속성 오버라이드 템플릿 적용 런타임 시 요청되는 device에 맞는 filter 판별 요청되는 응답으로 템플릿 혹은 속성 오버라이드를 적용

15 새로운 Device 추가: <browserCaps>
<filter>

16 User Control과 Custom Control
User Controls UI의 재사용 하나의 어플리케이션 지원(?)- 복수도 가능 .ascx 확장자 Visual Studio .NET의 사용으로 제작 용이 Custom Controls 복수의 어플리케이션 지원 어셈블리 형식 (*.DLL) 디자인 타임 지원 GAC에 등록

17 User Control: “메뉴” 컨트롤 제작

18 Custom Control의 종류 Inheritance control Composite control
기존의 모바일 웹 컨트롤로부터 상속 Composite control 복수의 모바일 컨트롤의 그룹 Direct control 새로운 모바일 컨트롤의 제작(어셈블리 추가) 이 컨트롤을 위한 Adapter 필요 Adapter 매핑 필요

19 Inherited Control = + 모바일 웹 컨트롤 데이터 바인딩 메소드 DataBound ObjectList
새로운 Controls

20 Inheritance Control 기존 모바일 웹 컨트롤의 기능의 확장 및 수정
default rendering of the parent의 사용 어떻게 만드나? 클래스 프로젝트 생성 기존의 모바일 웹 컨트롤로부터 상속 필요한 메소드, 속성 및 이벤트의 오버라이드 새로운 메소드, 속성 및 이벤트 추가 어셈블리로 컴파일

21 Inheritance Control: ListControl

22 Composite Control Login Composite Control Login Composite Control
Label TextBox Validators User Name: _________ Password: _________ Submit Login Control Label TextBox Validators Command Mobile Internet Controls . New Controls

23 Composite Control Default rendering of the child controls의 사용 어떻게 만드나?
클래스 라이브러브 생성 모바일 웹 컨트롤로 부터 클래스 상속 CreateChild 메소드의 오버라이드 및 ChildControlsCreated = true; 설정 필요한 메소드, 속성 및 이벤트 추가 어셈블리로 컴파일

24 Composition 정의 public class MobileSMTPControl : MobileControl, INamingContainer { public String SmtpServerName { get {return (String)ViewState["SmtpServerName"];} set {ViewState["SmtpServerName"] = value;} } protected override void CreateChildControls() // TO Section _lblMsgTo.ID = "lblMsgTo"; _lblMsgTo.Text = "To:"; _txtMsgTo.ID = "txtMsgTo"; _txtMsgTo.Text = MessageTo; _reqMsgTo.ControlToValidate = _txtMsgTo.ID; _reqMsgTo.Text = "Must fill in the To: field"; this.Controls.Add(_reqMsgTo); this.Controls.Add(_lblMsgTo); this.Controls.Add(_txtMsgTo); // // // CREATE Additional controls // // // // SEND BUTTON Section _cmdOk.ID = "cmdOk"; _cmdOk.Text="Send"; _cmdOk.Click += new EventHandler(this.Send_Click); this.Controls.Add(_cmdOk); //Saving the output ChildControlsCreated = true; }

25 Composition 사용 Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile”%> Register TagPrefix="SMTP“ Namespace="Acme.MailControlsCS" Assembly="Mobil Control"%> <mobile:Form id="frmDefault" runat="server"> <smtp:MobileSMTPControl id="Mobilesmtpcontrol1" SmtpServerName="LocalHost" Runat="server"> </smtp:MobileSMTPControl > </mobile:Form>

26 Composite Control: 로그인 컨트롤

27 Direct Control Mobile Internet Controls Multiline TextBox
HTML Multiline TextBox CHTML WML Mobile Internet Controls New Controls

28 Direct Control 기본 컨트롤 제작
새로운 컨트롤의 제작 Adapters 제작 어떻게 만드나? class library 프로젝트 생성 - 컨트롤 MobileControl로 부터 클래스 상속 필요한 메소드, 속성 및 이벤트 추가 어셈블리로 컴파일

29 Direct Control: Multi-line Text Box 컨트롤 제작

30 Direct Control Adapter 제작
Adapters 제작 Adapter 그룹마다 한 개의 컨트롤 Adapter 어떻게 만드나? Class library 프로젝트 생성 - Adapter Adapter Base 또는 IControlAdapter 인터페이스로 부터 클래스 상속 Render 메소드의 오버라이드 어셈블리로 컴파일

31 Direct Control Config 파일 업데이트
Config 파일에 Adapter 정보 추가 어떻게 만드나? Config 파일에 새로운 컨트롤을 위한 Entry 추가

32 Direct Control: Multi-line Text Box Device Adapter 제작

33 © 2003 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Download ppt "ASP.NET Mobile Controls"

Similar presentations


Ads by Google