..
ใน ASP.NET, จำนวนของการควบคุมที่มีความสามารถในการเข้าใจรูปแบบและเนื้อหาของการเก็บรวบรวมและการสร้างแท็กที่เหมาะสมในการแสดงเดียวกัน ในหมู่พวกเขาเราสามารถยกตัวอย่างเช่น ListBox และ DropDownList
หนึ่งในปัญหาที่พบบ่อยที่สุดในการพัฒนาโปรแกรมซอฟต์แวร์หรือเว็บไซต์ใด ๆ คือการแสดงคอลเลกชัน / ชุดรายการในอินเตอร์เฟซผู้ใช้ที่เหมาะสม (UI ส่วนติดต่อผู้ใช้) เราคิดว่าเป็นหนึ่งในเว็บไซต์การค้าจำนวนมากบนเว็บ เมื่อคุณเข้าถึงหนึ่งของพวกเขาถ้าเราซื้อสิ่งที่เรามักจะกรอกข้อมูลในบัตรซึ่งในข้อมูลต่างๆมักจะเป็นประเทศของพวกเขา ฟิลด์นี้จะแสดงเป็นปกติโดย DropDownList เป็นเมนูแบบเลื่อนลงที่ช่วยให้คุณเพื่อดูรายการและเลือกหนึ่งของประเทศ
คำถามพื้นฐานคือวิธีการควบคุมนี้จะมีประชากร? การควบคุมเช่นนี้ (แต่ยัง ListBox ตัวอย่างเช่น) ที่แสดงถึงการเก็บรวบรวมรายการผ่านที่คุณสามารถเพิ่มรายการไปยังรายการ เพียงแค่ใช้ Items.Add วิธีการที่
PopolaDropDownList เป็นโมฆะป้องกัน (รายการ IList)
{
for (int i = 0; ฉัน <lista.Count; i + +)
{
this.MiaDropDownList.Items.Add (รายการ [i]);
}
}
แต่เป็นหนึ่งสามารถเข้าใจนอกเหนือจากองค์ประกอบที่จะมีการควบคุมตนเองไม่ได้เป็นวิธีที่แนะนำในบริบทบางอย่าง (พิจารณาตัวอย่างเช่นชุดของรายการที่จะแสดงว่าอาจมีการเปลี่ยนแปลงตลอดเวลา) และด้วยเหตุผลนี้, ASP.NET มีจำนวน การควบคุมการเชื่อมโยงข้อมูล (วันที่ผูกพัน) สามารถในการทำคอลเลกชันของรายการและแท็กสร้างโดยอัตโนมัติสำหรับการแสดงผลในสถานที่ของเรา (ข้อมูลที่เรียกว่าผูกพัน)
แต่ละตัวควบคุมเหล่านี้รวมถึงคุณสมบัติที่เหมาะสมเพื่อเชื่อมต่อกับแหล่งข้อมูล (แหล่งข้อมูล) สำหรับการผูกข้อมูลแบบง่ายๆโดยใช้แหล่งข้อมูลคุณสมบัติซึ่งคุณสามารถเชื่อมต่อกับคอลเลกชันใด ๆ / คอลเลกชันที่ดำเนินการ ICollection, IEnumerable หรือ IListSource หลังจากที่ทรัพย์สินที่มีมูลค่าเป็นไปได้ที่คุณสามารถเรียกใช้ DataBind วิธีบนหน้า (หรือตัวควบคุม) การออกคำสั่งควบคุมเพื่อย้ำการเก็บรวบรวมการเชื่อมต่อ
การควบคุมที่สนับสนุนคุณลักษณะนี้ : ListControl, CheckBoxList, RadioButtonList, DropDownList, ListBox, TreeView เมนู GridView, DataGrid, Repeater, FormView, DetailsView อย่างชัดเจนสำหรับวัตถุประสงค์ของคู่มือนี้เราจะไม่ตรวจสอบลักษณะของแต่ละของพวกเขาและทำในสิ่งที่ฉันขอให้คุณเพื่อให้คำปรึกษาอย่างเป็นทางการของไมโครซอฟท์
ลองมาดูตัวอย่างของการใช้บางส่วนของตัวควบคุมเหล่านี้ ใน Visual Studio สร้างเว็บไซต์ใหม่และเพิ่มไปรถชั้นมีสองคุณสมบัติที่ทำและรูปแบบที่คุณอาจคาดเดา, จะทำหน้าที่เป็นคอลเลกชันของยี่ห้อและรุ่นของรถ

นี่คือการดำเนินงานของ
รถคลาสที่สาธารณะ
{
ยี่ห้อสตริงสาธารณะ {get; set;}
รุ่นสตริงสาธารณะ {get; set;}
รถสาธารณะ (สตริง strMarca,
สตริง strModello)
{
this.Marca = strMarca;
strModello this.Modello =;
}
รายชื่อ <Auto> สาธารณะคง CreaListaAuto ()
{
= รายการใหม่รายการ <Auto> <Auto> ฟุ่มเฟือย ();
saute รถ;
sauté = รถใหม่ ("แลนซ์","Delta");
lAuto.Add (saute);
sauté = รถใหม่ ("เฟียต","จุด");
lAuto.Add (saute);
sauté = รถใหม่ ("Audi","A4");
lAuto.Add (saute);
sauté = รถใหม่ ("เมอร์","SLK");
lAuto.Add (saute);
sauté = รถใหม่ ("Ferrari","F399");
lAuto.Add (saute);
sauté = รถใหม่ ("ฟอร์ด","Kuga");
lAuto.Add (saute);
กลับใจ;
}
}
เพิ่มรูปแบบเว็บใหม่ที่เรียกว่า Default.aspx ในโครงการของเราและใส่ลงในสี่ของการควบคุมที่เราเคยเห็นมาก่อนและที่เป็นกล่องรายการ, DropDownList, RadioButtonList และ CheckBoxList

เราตั้งค่าคุณสมบัติ AutoPostBack ให้ถูกต้องสำหรับตัวควบคุมทั้งหมดเพื่อให้เลือกรายการที่จะสร้างเหตุการณ์ postback ในระหว่างที่มีองค์ประกอบที่สามารถจะถูกสอบสวน มันยังแทรกเข้ามาในตำแหน่งใด ๆ บนเพจที่มีป้ายข้อความที่จะเป็นประโยชน์ในภายหลัง ตอนนี้เราต้องเปลี่ยนการเชื่อมโยงไปยังชั้นหน้าที่ส่งกลับคอลเลกชันของรถยนต์เพื่อการควบคุมต่างๆ สำหรับการควบคุมโดยการตั้งค่าคุณสมบัติ DataTextField ไปยังเขตข้อมูลในแต่ละแบบเพื่อให้รถโมเดลที่ปรากฏในตัวควบคุมต่างๆ และตั้งค่าคุณสมบัติ DataValueField บนพื้นที่ยี่ห้อ ที่สุดในเหตุการณ์ Load ของหน้าแทรกโค้ดต่อไปนี้เพื่อสร้างชุดของรถยนต์และสำหรับการเชื่อมโยงกับตัวควบคุมต่างๆ
การป้องกันถือเป็นโมฆะ Page_Load (ผู้ส่งวัตถุ, EventArgs e)
{
if (! this.IsPostBack)
{
รายชื่อ <Auto> autoList Auto.CreaListaAuto = ();
this.ListBox1.DataSource autoList =;
this.DropDownList1.DataSource autoList =;
this.RadioButtonList1.DataSource autoList =;
this.CheckBoxList1.DataSource autoList =;
this.DataBind ();
}
}
เปิดตัวโปรแกรมเป็นมันจะปรากฏที่นี่แต่ละตัวควบคุม




ณ จุดนี้เราสามารถเชื่อมต่อกับ SelectedIndexChanged เหตุการณ์ของการควบคุมต่างๆเพื่อเน้นวิธีการเข้าถึงข้อมูลเกี่ยวกับการให้เฉพาะเจาะจงของรถ ตั้งแต่ขั้นตอนจะคล้ายกันเพียง แต่จะทำให้เป็นตัวอย่างของกล่องรายการ เราสร้างเพื่อให้ SelectedIndexChanged เหตุการณ์และใส่รหัสต่อไปนี้ภายใน
เป็นโมฆะป้องกัน ListBox1_SelectedIndexChanged (ผู้ส่งวัตถุ, EventArgs e)
{
this.Label1.Text this.ListBox1.SelectedValue =;
}
ในวิธีนี้เราจะเห็นว่าการประยุกต์ใช้โดยเริ่มต้นด้วยการเลือกรุ่นรถที่แตกต่างกันที่ป้ายชื่อจะเพิ่มขึ้นกับแบรนด์ที่สอดคล้องกัน


| |
ASP (Advanced)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 39 € |
| |
ASP.NET (หลักสูตร)
หลักสูตรเต็มสำหรับสร้างเว็บแอพพลิเคชันจาก 49 € |
| |
SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 € |