ASP.NET เว็บฟอร์ม - วัตถุ Hashtable
ส่วนนี้จะอธิบายกระบวนการใช้วัตถุ ASP.NETHashtable เพื่อผูกข้อมูล
วัตถุ Hashtable มีรายการที่แสดงโดยคู่คีย์/ค่า
RadiobuttonList แบบแฮชได้ 1
RadiobuttonList แบบแฮชได้ 2
รายการดรอปดาวน์แบบแฮชเทเบิล
วัตถุ Hashtable มีรายการที่แสดงโดยคู่คีย์/ค่า คีย์ถูกใช้เป็นดัชนี และด้วยการค้นหาคีย์ จึงสามารถค้นหาค่าได้อย่างรวดเร็ว
เพิ่มรายการลงใน Hashtable ผ่านทาง Add() วิธีการ
รหัสต่อไปนี้สร้างวัตถุ Hashtable ชื่อ mycountries และเพิ่มสี่องค์ประกอบ:
<script runat="server">Sub Page_Loadif ไม่ใช่ Page.IsPostBack แล้ว mycountries=New Hashtablemycountries.Add("N", "นอร์เวย์") mycountries.Add("S", "สวีเดน") mycountries.Add("F", "ฝรั่งเศส")mycountries.Add("I",อิตาลี "end ifend sub</script>
ออบเจ็กต์ Hashtable จะสร้างข้อความและค่าโดยอัตโนมัติสำหรับการควบคุมต่อไปนี้:
asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:กล่องรายการ
ในการผูกข้อมูลกับตัวควบคุม RadioButtonList ขั้นแรกให้สร้างตัวควบคุม RadioButtonList ในหน้า .aspx (โดยไม่มีองค์ประกอบ asp:ListItem ใด ๆ ):
<html><body><form runat="server"><asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /></form></body></html>
จากนั้นเพิ่มสคริปต์ที่สร้างรายการและผูกค่าในรายการเข้ากับตัวควบคุม RadioButtonList:
<script runat="server">sub Page_Loadif ไม่ใช่ Page.IsPostBack แล้วจึงเลือกประเทศของฉัน=ใหม่ Hashtablemycountries.Add("N", "นอร์เวย์") mycountries.Add("S", "สวีเดน") mycountries.Add("F", "ฝรั่งเศส") mycountries.Add("I", "อิตาลี")rb. DataSource=mycountriesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()สิ้นสุดถ้าสิ้นสุด ย่อย</script><html><body><form runat="server"><asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /></form></body></ html>
จากนั้นเราเพิ่มรูทีนย่อยที่จะดำเนินการเมื่อผู้ใช้คลิกรายการในตัวควบคุม RadioButtonList เมื่อคลิกปุ่มตัวเลือก บรรทัดข้อความจะปรากฏในป้ายกำกับ:
<script runat="server">sub Page_Loadif ไม่ใช่ Page.IsPostBack แล้วจึงเลือกประเทศของฉัน=ใหม่ Hashtablemycountries.Add("N", "นอร์เวย์") mycountries.Add("S", "สวีเดน") mycountries.Add("F", "ฝรั่งเศส") mycountries.Add("I", "อิตาลี")rb. DataSource=mycountriesrb.DataValueField="Key"rb.DataTextField="Value"rb.DataBind()end ifend subsub displayMessage(s) as Object,e As EventArgs)lbl1.text="ประเทศที่คุณชื่นชอบคือ: " & rb.SelectedItem.Textend sub</script><html><body><form runat="server"><asp:RadioButtonList id=" rb" runat="เซิร์ฟเวอร์"AutoPostBack="True" onSelectedIndexChanged="displayMessage" /><p><asp:label id="lbl1" runat="เซิร์ฟเวอร์" /></p></form></body></html>
หมายเหตุ: คุณไม่สามารถเลือกวิธีจัดเรียงรายการที่เพิ่มลงใน Hashtable ได้ หากต้องการเรียงลำดับรายการตามตัวอักษรหรือตัวเลข ให้ใช้วัตถุ SortedList