More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Banpote .NET BlogsProfileFriendsBlogMore Tools Explore the Spaces community

Banpote .NET Blogs

บันทึกการค้นคว้าและทดสอบเกี่ยวกับเทคโนโลยี Microsoft .NET
November 27

AjaxControlToolkit:PopupControlExtender#2

 

4. เพิ่ม PopupControl เป็น Panel และข้างในจะใช้ Calendar เป็นส่วนที่ใช้เลือกข้อมุลลงใน Textbox 

5.และทำการเพิ่ม PopupControlExtender ลงไป โดยกำหนด TargetControlID เป็น ID ของ Textbox และ PopupControlID เป็น ID ของ Panel สุดท้ายก็กำหนด Position 

6. ใน Code Behide เราจะจำเป็นจะต้องเขียน Code ใน SelectionChanged ของ Calendar ให้กำหนด SelectedDate ลงใน Textbox  

7. ลอง Test ด้วยการ View in Browser 

8. และลองเอา Mouse ไป click ใน Textbox จะแสดง Calendar Control ใต้ Textbox  

9. และเมื่อเราเลือกวันที่ใน Calendar แล้ว Calendar ก็จะหายไป   

 

Conclusion

PopupControlExtender จะช่วยให้เราสามารถสร้าง Popup ได้โดยที่เรา Focus การทำงานอยู่ ASP.NET Server Control ไม่ต้องไปเขียน JavaScript ทำให้ง่ายต่อการทำงาน

AjaxControlToolkit:PopupControlExtender#1

Introduction

ในการใช้งานพวก Calendar Control ส่วนใหญ่แล้วเราจะต้องทำให้อยู่ในรูปแบบ Window Popup แล้วทำการเลือกวันที่จาก Calendar Control จากนั้นเมื่อ User Click วันที่ก็ส่งค่าที่เลือกลงใน Textbox บนหน้า Page ด้านล่างโดยใช้ JavaScript เข้ามาช่วย ซึ่งการ Implement วิธีนี้ทำเกิดความยากลำบากในการทำมาก และต้องมีการสร้าง Page สำหรับวาง Control Calendar ลงไปอีก Page

Design Propose

ประเด็นที่ทำให้เราต้องทำในลักษณะนี้ก็เพราะต้องประหยัดพื้นที่หน้า Page เพราะเราไม่ต้องการที่จะแสดง Calendar Control ตลอดเวลา จากปัญหาเหล่านี้ใน AjaxControlToolkit มี Control PopupControlExtender ที่จะช่วยให้เราสามารถวาง Calendar Control ลงในหน้า Page ได้เลย โดยไม่ต้องมาเปิดเป็น Popup JavaScript เพื่อเลือกวันที่

ซึ่ง PopupControlExtender จะทำการตอบสนองการทำงานต่อ User เมื่อมีการ Click ลงใน Textbox ที่เราตั้ง Target ไว้เพื่อให้ User เลือกค่าใดๆ จากนั้นก็จะส่งค่าลงใน Textbox แล้วทำการซ่อน Calendar Control หรือ Control ที่เราต้องการให้แสดงในลักษณะของ Popup

 

 

Control Structure

ในการใช้งาน Control นั้นเราจะต้องมี 2 Control เป็นอย่างน้อยเพื่อทำการเอาไปผูกเข้ากับ PopupControlExtender คือ Textbox Control และ Panel Control

ซึ่งตัว Panel จะใช้เป็นส่วนที่เป็น Popup ภายใน Panel เราจะต้องวาง Control ที่จะใช้เป็นส่วนที่เราต้องการจะให้เลือกข้อมูลเพื่อส่งลงใน Textbox อย่างเช่น Calendar Control และจะต้องทำการเขียน Code ใน Event Handler เพื่อกำหนดค่าให้กับ Textbox ด้วยอย่างเช่นใน Calendar Control จะมี Event Handler SelectionChanged

Property ที่สำคัญ

TargetControlID – Control ที่ต้องการให้รับค่าจาก PopupControlExtender

PopupControlID – Control ที่เราจะใช้เป็น Popup เพื่อเลือกและซ่อนไว้เมื่อไม่ได้รับการตอบสนองกับ TargetControl

Position - กำหนดตำแหน่งในการแสดง Popup ได้แก่ Bottom, Center, Left, Right, Top

How to use (ตัวอย่างในการใช้ PopupControlExtender)

1. ทำการ Add Reference AjaxControlToolkit.dll ลงใน Web

2. ทำการ Register Control ลงในหน้า Page ที่เราต้องการใช้งาน AjaxControlToolkit

3. เพิ่ม TargetControl ซึ่งเป็น Textbox 

November 26

รูปแบบของการเขียนบทความ

- Introduction
- Designing Purpose
- Control Structure
- How to use
- Bug Issue(Optional)
- Conclusion

November 17

Hello Workflow

 

เป็นตัวอย่างการสร้าง Workflow ด้วย Sequential Workflow Console Application และแสดงข้อความ Hello World!! โดยใช้ CodeActivity

เมื่องสร้าง Project ใหม่ใน Solution จะมี Workflow1.vb ซึ่งเราจะสามรถที่จะ Design และ Coding ลงใน File นี้และอีกไฟล์คือ Module1.vb จะเป็น Hosting เพื่อใช้ในการ Start Workflow

หลักการทำ Hosting จะเริ่มจากการที่เราสร้าง Object WorkflowRuntime และทำการ WorkflowInstance ซึ่งอยู่ภายใน WorkflowRuntime จากนั้นจึงสั่ง Start ที่ Instance

จาก Model ด้านบนลองเทียบดูกับ Code จะมีลักษณะดังนี้

จากหน้า Workflow Desinger ผมทำการ Drop ตัว CodeActivity ลงไป

 

จะเห็นว่าที่ CodeActivity จะขึ้น Warning ขึ้นมาเนื่องจาก CodeActivity จะต้องมีการ Execute Code ลงไป

สิ่งที่ได้คือ Method ที่จะถูก Handler จาก CodeActivity จากนั้นผมจึงใส่คำสั่ง Write Hello World!! ออกมาครับ

 

ลองทำการ F5

การใช้ IfElseActivity#2

สิ่งที่สำคัญสำหรับการใช้ในงาน IfElseActivity คือจะต้องมีการกำหนด Codition ซึ่งมีอยู่ 2 แบบ

1. Code Condition - เป็นการกำหนด Condition โดยใช้การ Call Method เพื่อเช็คเงื่อนไขว่าเป็นจริงหรือไม่ โดย Method นี้จะ Generate ให้เมื่อเลือกรูปแบบเงื่อนเป็น Code Condition ซึ่งเราสามารถกำหนด Property ที่ IfElseBranchActivity

กรณีถ้าต้องการให้เงื่อนไขเป็นจริงก็ set ค่าให้กับ e.Result(ConditionalEventArgs) เป็น True

จากตัวอย่างนี้เมื่อมีการ Start Workflow นี้ขึ้นมาจะไม่เข้าเงื่อนไขทางกิ่งด้านซ้ายเพราะ Method IsUnderLimit กำหนดค่า e.Result เป็น False

หรือตัวอย่างด้านล่างนี้จะเป็นการเทียบค่าและ return ผลลงใน e.Result

การกำหนด Code Condition จะเหมาะกับกรณีที่เราต้องการสร้างเงื่อนไขที่ต้องมีการไปเรียกใช้ Method อื่นๆ เพื่อสนับสนุนการตัดสินใจหรือเงื่อนไขมีการตัดสินใจหลายๆ ระดับ

2. Declarative Rule Condition - จะเป็นการสร้าง Condition ไว้ในรูปแบบของ Rule Condition ซึ่งจะไม่ได้อยู่ในรูปของ Coding แต่จะเป็นในรูปแบบของ XML อยู่ใน .rules

เราสามารถที่จะนำ Rule Condition นี้มา Reuse ใช้กับ Condition ใน Activity อื่นๆ ได้ เมื่อเราสร้าง Rule Condition

การใช้งาน IfElseActivity#1

กิจกรรมต่างๆ ที่เกิดขึ้นใน Workflow จะมีหลายๆ กิจกรรมและหลายๆ เงื่อนไขในการกำหนดเงื่อนไขเพื่อให้ flow การทำงานเป็นไปตามที่เราต้องการนั้นจะมี ฺBase Activity หลายๆ แบบที่สนับสนุนและมีอยู่หนึ่ง Activity ที่ใช้สำหรับการตัดสินใจแบบพื้นฐานคือ IfElseActivity

IfElseActivity มีลักษณะคล้ายกับคำสั่ง If..Then..Else ของ vb.net ในการตรวจสอบเงื่อนไขของ IfElseActivity จะเริ่มจากด้านซ้ายก่อนแล้วไล่ไปด้านขวาและเมื่อเราทำการ Drop IfElseActivity ลงไปใน Workflow จะมี IfElseBranchActivity มาให้สอง Activity ที่อยู่ภายใน IfElseActivity เราสามารถเพิ่ม IfElseBranchActivity ได้เหมือนกับการใช้คำสั่ง ElseIf

November 14

Introduction Windows Workflow Foundation (WF) #2

และในแต่ละขั้นตอนจะมีการทำงานกลับบุคคลหลายฝ่าย จาก Scenario นี้เราสามารถนำ WF มาสร้างเป็น Activity ในแต่ละ step ของการขอพักร้อน เพื่อช่วยในการอธิบาย Flow การทำงานว่าของแต่ละขั้นตอนว่าจะต้องผ่านขั้นตอนการทำงานอะไรบ้าง แต่ละ Activity จะรวมอยู่ใน WF ซึ่งเราสามารถ build ออกมาเป็น Assembly จากนั้นก็ทำการสร้าง Application อย่างเช่น ASP.NET หรือ Win App มา Include WF ลงไป

WF จะช่วยในการสร้าง Business Process ที่มีความซับซ้อนให้มีความง่ายขึ้นกว่าเดิมด้วยการเอา model เข้ามาแสดง Process ในแต่ละกิจกรรมการทำงานหรือกิจกรรมที่ต้องมีการตัดสินใจจะทำให้ทั้ง Developer หรือ Solution Architect มองเห็นภาพรวมของการทำงานและเงื่อนไขการทำงานได้ชัดเจนยิ่งขึ้น

Introduction Windows Workflow Foundation (WF)

 

เป็นกลุ่มของ Component และเครื่องมือด้าน Workflow Designer ที่ช่วยในการออกแบบและสร้าง Application ที่เป็น Workflow ใน Microsoft .Net Framework 3.0 ภายใน Workflow จะประกอบไปด้วยกลุ่มของ Activity ที่จะใช้แทน Process การทำงานของระบบงานที่เกิดขึ้นจริง อย่างเช่นระบบการลาพักร้อนซึ่งภายในระบบจะประกอบไปด้วยการทำงานสามขั้นตอนคือ

     

    October 19

    atlasToolkit:PasswordStrength

     

    เป็น Control Extender ที่ทำหน้าที่ควบคุม Textbox ที่ใช้เป็นตัวใส่รหัสผ่านให้มีความซับซ้อนมากขึ้นและมีความปลอดภัยมากขึ้น โดย Control PasswordStrength จะมีส่วนการแสดงผลระดับความปลอดภัยของ Password ที่ถูก key ลงไปใน Textbox ว่าปลอดภัยมากน้อยแค่ไหนหรือจะแสดงระดับความปลอดภัยในรูปแบบ Progress bar

     

    ซึ่งข้อควาทที่อธิบายออกมาจาก Control จะอธิบายว่า Password ที่ใส่เข้าไปมีความปลอดภัยมากน้อยแค่ไหน
    และจะต้องทำอย่างไร Password ที่ key ลงไปนั้นมีความปลอดภัย

     

    TargetControlID ระบุ textbox ที่จะให้ passwordstrength ไปควบคุมการใส่รหัสผ่าน

    October 13

    Present WPF T#

    วันที่ 14 ธันวาคม 2549 เวลา 18.00 น. ที่ Microsoft Office หัวข้อบรรยาย WPF

    View more entries