ในส่วนนี้ เราศึกษาการควบคุมสามแบบ ได้แก่ HiddenField, Literal และ LinkButton
เราใช้ LinkButton สำหรับการสาธิตที่นี่ เนื่องจากการควบคุมนี้คล้ายกับการใช้งาน BUTTON แต่บางทีการควบคุมอาจดูเปิดกว้าง และไฮเปอร์ลิงก์และปุ่มนั้นตาบอด ผลลัพธ์คือ LinkButton แต่อย่าบอกฉันถึงแม้ว่ามันจะออกมาพร้อมกับชื่อที่ไม่ยุติธรรม แต่การมีส่วนร่วมของมันก็ดีมาก ดังนั้นจึงต้องได้รับการยกย่อง
ก่อน
!วิธีการนี้ใช้เก็บข้อมูลบนเพจ และการใช้งานจะคล้ายกับข้อมูลควบคุมอื่น ๆ แต่จะไม่แสดงข้อมูล ซึ่งในทางกลับกัน อย่าคิดว่าจะไม่แสดงข้อมูลดังกล่าว คุณยังคงไม่จัดเก็บข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่าน เนื่องจากข้อมูลดังกล่าวจะปรากฏอยู่ในซอร์สโค้ด HTML ของหน้าเว็บ
ปุ่มลิงค์
ต่อไป เรามาพูดถึง Literal กันดีกว่า: เราไม่ได้ใช้การควบคุมนี้มากนักหรือแทบจะไม่เคยใช้เลย แต่เนื่องจาก Microsoft ได้สร้างมันขึ้นมา เราจึงมีภาระผูกพันที่จะต้องพูดถึงมันเพื่อหลีกเลี่ยงไม่ให้ถูกมองว่าไร้ความปรานี นอกจากนี้ สิ่งนี้ยังเผยแพร่ในนั้นเท่านั้น 2.0 สิ่งใหม่ ฮ่าๆ!!!
ฉันขี้เกียจพิมพ์จึงคัดลอกบางอย่างจาก
MSDN สำหรับเนื้อหาแบบคงที่ ไม่จำเป็นต้องมีคอนเทนเนอร์ และสามารถเพิ่มมาร์กอัปลงในเพจได้โดยตรงในรูปแบบ HTML อย่างไรก็ตาม หากคุณต้องการเพิ่มเนื้อหาแบบไดนามิก คุณต้องเพิ่มเนื้อหาลงในคอนเทนเนอร์ คอนเทนเนอร์ทั่วไปได้แก่ การควบคุมฉลาก การควบคุมตามตัวอักษร การควบคุมแผงควบคุม และการควบคุมตัวยึด
ความแตกต่างระหว่างตัวควบคุมตัวอักษรและตัวควบคุมป้ายกำกับคือ ตัวควบคุมตัวอักษรไม่ได้เพิ่มองค์ประกอบ HTML ใด ๆ ให้กับข้อความ (ตัวควบคุมป้ายกำกับแสดงองค์ประกอบช่วง) ดังนั้น การควบคุมตามตัวอักษรจึงไม่สนับสนุนคุณสมบัติสไตล์ใดๆ รวมถึงคุณสมบัติตำแหน่งด้วย อย่างไรก็ตาม การควบคุมตามตัวอักษรช่วยให้คุณสามารถระบุว่าเนื้อหาควรได้รับการเข้ารหัสหรือไม่
ตัวควบคุมแผงและตัวยึดตำแหน่งจะแสดงผลเป็นองค์ประกอบ div ซึ่งสร้างบล็อกแยกกันในหน้า ซึ่งแตกต่างจากวิธีที่ตัวควบคุมป้ายกำกับและตัวอักษรแสดงผลแบบอินไลน์
โดยทั่วไป ตัวควบคุมตามตัวอักษรจะใช้เมื่อคุณต้องการให้ข้อความและตัวควบคุมแสดงผลโดยตรงบนเพจโดยไม่ต้องมาร์กอัปเพิ่มเติม
ตัวควบคุมตามตัวอักษรสนับสนุนคุณสมบัติโหมด ซึ่งระบุวิธีที่ตัวควบคุมจัดการมาร์กอัปที่คุณเพิ่ม คุณสามารถตั้งค่าคุณสมบัติ Mode ให้เป็นค่าต่อไปนี้:
การแปลง มาร์กอัปใดๆ ที่เพิ่มเข้าไปในการควบคุมจะถูกแปลงให้เหมาะสมกับโปรโตคอลของเบราว์เซอร์ที่ร้องขอ การตั้งค่านี้มีประโยชน์หากคุณแสดงเนื้อหาไปยังอุปกรณ์เคลื่อนที่ที่ใช้โปรโตคอลอื่นที่ไม่ใช่ HTML
ผ่าน. มาร์กอัปใดๆ ที่เพิ่มลงในตัวควบคุมจะแสดงผลในเบราว์เซอร์ตามที่เป็นอยู่
เข้ารหัส มาร์กอัปใดๆ ที่เพิ่มให้กับตัวควบคุมจะถูกเข้ารหัสโดยใช้วิธี HtmlEncode ซึ่งจะแปลงการเข้ารหัส HTML ให้เป็นการแสดงข้อความ ตัวอย่างเช่น แท็ก <b> จะแสดงผลเป็น <b> การเข้ารหัสมีประโยชน์เมื่อคุณต้องการให้เบราว์เซอร์แสดงมาร์กอัปโดยไม่ต้องตีความ การเข้ารหัสยังมีประโยชน์สำหรับการรักษาความปลอดภัย โดยช่วยป้องกันการดำเนินการมาร์กอัปที่เป็นอันตรายในเบราว์เซอร์ แนะนำให้ใช้การตั้งค่านี้เมื่อแสดงสตริงจากแหล่งที่ไม่น่าเชื่อถือ
มีการใช้โหมดการแปลง
-------------------------------------------------- -------------------------------------------------- ----------------------------------
[fdsf](desf);"ฮ่าๆๆ"
ใช้โหมด PassThrough
-------------------------------------------------- -------------------------------------------------- ----------------------------------
[fdsf](desf);"ฮ่าๆๆ"
มีการใช้โหมดเข้ารหัส
<hr><i>[fdsf](desf);"hahah"<br><p></i>
นี่คือโหมดปกติ ป้ายกำกับ
-------------------------------------------------- -------------------------------------------------- ----------------------------------
[fdsf](desf);"ฮ่าๆๆ"
นี่คือวิธีการถอดรหัสโดยใช้เมธอด Server.HtmlEncode
<hr><i>[fdsf](desf);"hahah"<br><p></i>