ตัวอย่างนี้แสดงวิธีการใช้คุณลักษณะ Skype ในเว็บไซต์ ASP.NET 2.0 ของคุณ ขึ้นอยู่กับชื่อผู้ใช้ Skype และหมายเลขโทรศัพท์มาตรฐาน คุณพิมพ์ลงในฟิลด์ที่เหมาะสม LinkButtons หกปุ่มประกอบด้วยสตริงที่ Skype ต้องการในเว็บไซต์เพื่อดำเนินการพื้นฐาน ซึ่งได้แก่:
โทร Skype ผ่าน Skype
ขอข้อมูลการติดต่อ
เริ่มแชท
ส่งไฟล์ผ่าน Skype
เพิ่มผู้ติดต่อ
โทรผ่าน Skype Out
การสร้างตัวอย่างนี้
ฉันเริ่มต้นตัวอย่างนี้ด้วยการสร้างเว็บไซต์ว่างใหม่ เลือกตัวเลือกเพิ่มรายการใหม่ภายใต้เว็บไซต์ และเลือก WebUserControl ใหม่เพื่อเพิ่มลงในแอปพลิเคชันของฉันที่ฉันเรียกว่า SkypeSample (จะได้รับส่วนขยาย .ascx หลังจากการสร้าง) ใน WebsUserControl นี้ ฉันได้สร้างตัวควบคุมต่อไปนี้:
ป้ายกำกับที่มีคุณสมบัติข้อความ ชื่อ Skype
ป้ายกำกับที่มีคุณสมบัติข้อความ หมายเลขโทรศัพท์
กล่องข้อความที่มี ID txtSkypeName
กล่องข้อความที่มี ID txtPhoneNr
ปุ่มที่เรียกว่า Button1 ตามค่าเริ่มต้น โดยมีคุณสมบัติข้อความที่ตั้งค่าเป็นเติมข้อมูล
หก LinkButtons ถูกเรียกตามค่าเริ่มต้น Linkbutton1...
รูปภาพประเภทมาตรฐานหกประเภทที่เรียกตามค่าเริ่มต้น Image1...
นอกจากนี้ ฉันได้เพิ่มโฟลเดอร์รูปภาพลงในโปรเจ็กต์ และดาวน์โหลดชุดรูปภาพที่นักพัฒนาสามารถใช้ได้จากเว็บไซต์ Skype (คลิกที่นี่เพื่อดาวน์โหลดรูปภาพ) และเลือกปุ่มที่ฉันต้องการ และเพิ่มลงในแผนผังรูปภาพที่สร้างขึ้น ฉันกำหนดเส้นทางของส่วนควบคุม Image1 ถึง Image6 ไปยังรูปภาพที่เหมาะสมในโฟลเดอร์ Images ของฉัน
สำหรับ Button1 ฉันได้สร้างเหตุการณ์ชื่อ Populate_Click และโค้ดต่อไปนี้ที่จะเรียกใช้เมธอด SetSkypeStatus ที่ฉันสร้างในภายหลัง
// รับสถานะ Spype
พยายาม
-
นี้.SetSkype();
-
จับ
-
-
-
ในที่สุด
-
-
-
จากนั้นฉันคลิกที่ UserControl เพื่อไปที่โค้ดเบื้องหลัง และสร้างวิธีการที่เรียกว่า SetSkype และสตริงที่จำเป็นสำหรับแอปพลิเคชัน
โมฆะที่ได้รับการป้องกัน SetSkype()
{
//ตั้งค่ารูปภาพบนเว็บไซต์ให้ไม่ปรากฏให้เห็น
Image1.Visible = จริง;
Image2.Visible = จริง;
Image3.Visible = จริง;
Image4.Visible = จริง;
Image5.Visible = จริง;
Image6.Visible = จริง;
//สร้าง Strings ที่จะเก็บ
//ค่าที่จำเป็นและ
สตริงการกระทำ SkypeName = txtSkypeName.Text;
สตริง LandPhone = txtPhoneNr.Text;
สตริง PathSkypeStatusString = "";
สตริง SkypeAddContactString = "";
สตริง SkypeCallString = "";
สตริง SkypeLandCall = "";
สตริง SkypeChattString = "";
สตริง SkypeProfileString = "";
สตริง SkypeSendFileString = "";
เพื่อเติมสตริงด้วยค่า ฉันได้สร้างบล็อกลอง บล็อกแรกจะได้รับสถานะของชื่อผู้ใช้ Skype ที่พิมพ์หลังจากเริ่มวิธีการแล้ว ดังที่คุณเห็นในโค้ดด้านล่าง ฉันได้สร้างสตริงขึ้นมาสามสตริง (s1, s2, sT) อันสุดท้ายจากสามอันในบล็อกลองแรกหมายถึงผลรวมสตริงเนื่องจากฉันพยายามสร้างสตริงที่ฉันสามารถใช้เพื่อรับสถานะของผู้ติดต่อ Skype ดังที่คุณเห็นด้านล่าง ส่วนแรกของสตริงคือ URL ที่ระบุว่าต้องดูที่ใด และไอคอนใดที่จะใช้ คุณสามารถเปลี่ยนคำว่า "mediumicon" เป็น เช่น "largeicon" และไอคอนขนาดใหญ่จะปรากฏขึ้น สตริง sT= ส่วนในบล็อกนี้ตั้งค่าที่แท้จริงของสตริง sT ให้เป็นสตริงที่ฉันต้องการ เส้นทางที่จะดูบวกกับชื่อผู้ใช้ Skype ที่ฉันต้องการให้มีสถานะ ค่าที่เก็บไว้ sT จะถูกส่งผ่านไปยัง PathSkypeStatusString ที่สร้างขึ้นข้างต้น และฉันกำหนด PathSkypeStatusString เป็นค่าของ Image1 URL ดังนั้นในขณะรันไทม์ รูปภาพนี้ควรแสดงไอคอนสื่อพร้อมสถานะปัจจุบันของผู้ใช้
// รับสถานะ Spype
พยายาม
-
สตริง s1 = " http://mystatus.skype.com/mediumicon/ ";
สตริง s2 = ชื่อ Skype;
สตริง ST = s1 + s2;
PathSkypeStatusString = ST;
Image1.ImageUrl = PathSkypeStatusString;
-
จับ
-
-
-
ในที่สุด
-
-
-
ในส่วนถัดไป ฉันต้องการสตริงเพิ่มเติมเนื่องจากชื่อผู้ใช้ Skype จะอยู่ตรงกลางสตริง ดังนั้นการสร้างสตริงที่สมบูรณ์จึงซับซ้อนกว่าเล็กน้อย s4 มีความสำคัญในส่วนนี้เพราะนั่นคือการกระทำที่จะดำเนินการในขณะรันไทม์ และ s6 ในข้อความที่จะมองเห็นได้ใน LinkButton ฉันสร้างสตริง sT อีกครั้ง ส่งค่าไปที่ SkypeCallString และตั้งค่าของ LinkButton1 เป็นเนื้อหาของ SkypeCallString ดังนั้นเมื่อรันไทม์ Linkbutton นี้จะเริ่มการโทรเมื่อคลิก ในโค้ด ค่า HREF จะถูกมองเห็นโดยไม่มีแท็กปิด เนื่องจากค่านั้นจะถูกเพิ่มในภายหลังเมื่อฉันตั้งค่าของสตริง s6
//ตั้งค่า CallString
พยายาม
-
//string s1 = "ดูโค้ด";
สตริง s2 = "Skype:";
สตริง s3 = ชื่อ Skype;
string s4 = "?โทร";
สตริง s5 = '"'.ToString();
string s6 = ">Skype ฉัน";
สตริง ST = s1 + s2 + s3 + s4 + s5 + s6;
SkypeCallString = ST;
LinkButton1.Text = SkypeCallString;
-
จับ
-
//สิ่งที่ต้องทำ
-
ในที่สุด
-
//สิ่งที่ต้องทำ
-
ฉันทำซ้ำสิ่งนี้สำหรับการกระทำทั้งหมดที่ผู้ใช้สามารถทำได้ โดยตั้งค่าของ LinkButtons ให้เป็นการกระทำที่ฉันต้องการให้พวกเขาทำ ชัดเจนว่าทำไมการกระทำต่างๆ จึงมีหน้าตาเช่น ?call, ?chat ฯลฯ
เสมอ การรันโค้ดตัวอย่าง
หากต้องการเรียกใช้โค้ดตัวอย่าง คุณเพียงแค่เปิดโฟลเดอร์ SkypeSample ด้วย Visual Studio ใต้ตัวเลือกเมนู File, Open และเลือกเว็บไซต์ ควรโหลดโค้ด และเมื่อคุณกด F5 แอปพลิเคชันตัวอย่างควรทำงาน
การใช้งานต่อไป
ตัวอย่างนี้ใช้งานง่ายแบบไดนามิกเมื่อคุณจัดเก็บชื่อผู้ใช้ Skype และหมายเลขโทรศัพท์ไว้ในฐานข้อมูลและนำเสนอค่าเหล่านี้ในเว็บไซต์ของคุณด้วย ตัวอย่างเช่น DetailControl ที่คุณโหลดด้วยแหล่งข้อมูล เมื่อคุณตั้งค่าชื่อผู้ใช้และหมายเลขโทรศัพท์ Skype เป็น DataKeys สำหรับ DetailControl คุณสามารถใช้ค่าที่เก็บไว้ขณะรันไทม์เพื่อเติมสตริง (ชื่อผู้ใช้ Skype และหมายเลขโทรศัพท์) ด้านล่างนี้คือตัวอย่างที่แสดงวิธีที่คุณสามารถตั้งค่าคุณสมบัติจาก Skype
//ตั้งค่าสตริง SkypeName และ SkypeLandCall แบบไดนามิก
พยายาม
-
//ตั้งค่าสตริง SkypeName
สตริง SkypeName = DetailView1.DataKey["Skype"].ToString();
//ตั้งค่าสตริง SkypeLandCall
สตริง SkypeLandCall = DetailView1.DataKey["CompanyPhone"].ToString();
-
จับ
-
//สิ่งที่ต้องทำ
-
ในที่สุด
-
//สิ่งที่ต้องทำ
-
จุดที่น่าสนใจ
ฉันไม่ได้บอกว่าโค้ดนั้นสมบูรณ์แบบ แต่ทำงานได้ดีจากแล็ปท็อปของฉัน เมื่อฉันขอเว็บไซต์จากเซิร์ฟเวอร์ภายในของฉัน ตัวเลือก Skype ทั้งหมดใช้งานได้ ชื่อ Skype เป็นลิขสิทธิ์ของ Skype Limited