บทความนี้จะแนะนำการใช้ Select Case ใน ASP เป็นหลักเพื่อแทนที่ Switch Case ในภาษาอื่นๆ และกรณีเริ่มต้นเป็นอย่างอื่น เพื่อนๆ ที่ต้องการสามารถอ้างอิงถึงได้
คุณไม่สามารถใช้คำสั่ง switch ใน asp ได้ คุณต้องใช้คำสั่ง select case
แนะนำตัวสั้นๆ
การเลือกรายงานทำงานเหมือนกับคำสั่ง if อย่างไรก็ตาม ข้อแตกต่างคือสามารถตรวจสอบได้หลายค่า แน่นอนคุณมี
คำสั่ง if..else ที่เหมือนกันหลายคำสั่ง แต่นี่ไม่ใช่แนวทางที่ดีที่สุดเสมอไป
คำสั่ง select อนุญาตให้โปรแกรมประเมินนิพจน์และพยายามจับคู่ค่าของนิพจน์กับเลเบลเคส ถ้าเจอคู่กัน
การกำหนดค่า คำสั่งที่เกี่ยวข้องกับการทำงานของโปรแกรม ไวยากรณ์สำหรับคำสั่ง SELECT เป็นดังนี้:
เลือกนิพจน์กรณี case label_1 งบ_1 case label_2 งบ_2 ... case else งบ_nend เลือก
ขั้นแรกโปรแกรมจะค้นหาเงื่อนไขที่มีป้ายกำกับค่าที่ตรงกับนิพจน์ จากนั้นตัวควบคุม clause จะถ่ายโอนไปยัง clause นั้น โดยดำเนินการคำสั่งที่สอดคล้องกัน
ข้อความที่เกี่ยวข้อง หากไม่พบแท็กที่ตรงกัน โปรแกรมจะค้นหาส่วนคำสั่ง Else เผื่อเลือก และหากพบ จะควบคุม
ย้ายไปยังส่วนคำสั่งนี้และดำเนินการคำสั่งที่เกี่ยวข้อง หากไม่พบ Case Else clause โปรแกรมจะดำเนินการต่อด้วยคำสั่งนั้น
จากนั้นเลือก สิ้นสุด ใช้ประโยชน์จากการหยุดพักเพื่อหลีกเลี่ยงการดำเนินการอัตโนมัติโดยการย้ายไปยังโค้ดชิ้นถัดไป
ลองพิจารณาตัวอย่าง:
<%@ language=vbscript><%Dim FlowerFlower = roseelect case flower case rose response.write(ดอกไม้ & ราคา $2.50) case daisy response.write(ดอกไม้ & ราคา $1.25) case orchild response.write(ดอกไม้ & ราคา $1.50) case else response.write(ไม่มีดอกไม้ชนิดนี้ในร้านของเรา)จบการเลือก%>
ตัวอย่างที่ 1
<%'/*ใน ASP ให้ใช้กรณีเลือกแทนกรณีสลับในภาษาอื่น กรณีการใช้งานเริ่มต้น else*/dim todaytoday = 5select case today case 0 str = Sunday case 1 str = Monday case 2 str = Tuesday case 3 str = วันพุธ กรณี 4 str = วันพฤหัสบดี กรณีที่ 5 str = วันศุกร์ กรณีที่ 6 str = วันเสาร์ กรณีที่ 7, 8, 9 str = ค่าของวันนี้คือ 7, 8 หรือ 9 กรณีอื่น str = ไม่ทราบจุดสิ้นสุด selectresponse.write strresponse.End()%>/*------------ผลลัพธ์ผลลัพธ์ -------- วันศุกร์ ------------*/
ตัวอย่างที่ 2
board=request(board) เลือกเคส บอร์ด case 1 boardName = เวอร์ชันทางเทคนิค เคส 2 boardName = เวอร์ชันข้อมูล เคส 3 boardName = การบริการลูกค้าเต็มไปด้วยดวงดาว กรณีที่ 4 boardName = พื้นที่ชลประทาน กรณีที่ 5 boardName = กรณีการตลาด 6 boardName = ผู้จัดการฟอรัม เคส 7 boardName = เสียงและวิดีโอ กรณีที่ 8 ชื่อบอร์ด = การบริการเพิ่มเติม กรณี 9 ชื่อบอร์ด = พื้นที่ภาคตะวันออกเฉียงเหนือ กรณี 10 ชื่อบอร์ด = การเปลี่ยนแปลงของตลาด กรณีที่ 11 ชื่อบอร์ด = กรณีการสื่อสารกลุ่ม 12 boardName = hombre case 14 boardName = Forum case 15 boardName = Online Q&A case elseboardName = Script Home end select
หมายเหตุ: ไม่สามารถมีโคลอนหลังกรณีที่ 1 และไม่สามารถมีอัฒภาคหลัง boardName = เวอร์ชันทางเทคนิค และไม่สามารถมีคำสั่งแบ่งได้