วิธีที่ดีที่สุดในการสร้างรายการปุ่ม/ลิงก์แบบไดนามิกคืออะไร

ฉันกำลังสร้างแอปพลิเคชันภายในสำหรับร้านอาหาร ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการสร้างรายการปุ่ม/ลิงก์แบบไดนามิกคืออะไร

ฉันมีรายการกล่องอาหารคำสั่งผสม เช่น box1, box2, box3 (จำนวนกล่องคำสั่งผสมจะเปลี่ยนไป) ซึ่งจะแสดงบนหน้าจอ เมื่อเลือกกล่องที่กำหนดป๊อปอัปจะปรากฏขึ้นโดยมีรายการสินค้าระบุว่า item1...item5 ผู้ใช้สามารถเลือกรูปแบบรายการและดำเนินการต่อได้

ฉันต้องการใช้รายการปุ่มหรือลิงก์ซึ่งจะทำหน้าที่เหมือนรายการกล่องคำสั่งผสมและแผงป๊อปอัปสำหรับแต่ละปุ่มเพื่อแสดงรายการและดำเนินการต่อ

โปรดแนะนำฉันว่าอะไรคือแนวทางที่ดีที่สุดในการสร้างรายการปุ่ม/ลิงก์แบบไดนามิก ปุ่มคือตัวควบคุมที่ถูกต้องหรืออย่างอื่นที่สามารถใช้เพื่อเรียกใช้แผงควบคุมได้

ฉันใช้ asp.net (เทียบกับ 2010) เพื่อสร้างแอป


person ram    schedule 18.12.2015    source แหล่งที่มา
comment
มันจะช่วยได้ถ้าคุณพูดถึงและติดแท็กเทคโนโลยี/เฟรมเวิร์กและแพลตฟอร์ม GUI ที่คุณวางแผนจะใช้   -  person Filburt    schedule 18.12.2015
comment
เทคโนโลยีใดที่คุณกำลังมองหา? โปรดอธิบายความต้องการของคุณให้ชัดเจนมากขึ้นอีกหน่อย   -  person Divyek    schedule 18.12.2015


คำตอบ (2)


จากข้อมูลเล็กๆ น้อยๆ นี้ มีเพียงคำแนะนำทั่วไปเท่านั้นที่สามารถทำได้

ประการแรก ความแตกต่างระหว่างลิงก์และปุ่ม:

  • ลิงก์มีไว้เพื่อพาคุณไปยังสถานที่ต่างๆ โดยไม่เคยใช้วิธี POST และ ควร ไม่เปลี่ยนสถานะใดๆ ในเซิร์ฟเวอร์ และดังนั้นจึงควรถือว่า ปลอดภัยสำหรับหุ่นยนต์ (หมายถึงสไปเดอร์ของเครื่องมือค้นหา จะ ติดตามลิงก์)

  • ปุ่ม โดยเฉพาะใน HTML5 เป็นองค์ประกอบ UI ทั่วไปที่สามารถสร้างขึ้นเพื่อทำสิ่งต่างๆ มากมาย (เช่น ด้วยความช่วยเหลือจาก JavaScript) แต่โดยทั่วไป ไม่ ถือเป็น ปลอดภัยสำหรับหุ่นยนต์ หมายความว่าสไปเดอร์ของเครื่องมือค้นหาอาจจะไม่คลิกปุ่ม (แน่นอนว่าจะไม่เป็นเช่นนั้น หากพวกมันเชื่อมโยงกับแบบฟอร์ม POST แม้ว่าตอนนี้ Google จะแสดงผล JavaScript และอาจเป็นไปตามแบบฟอร์ม GET ก็ตาม)

จากที่กล่าวมาข้างต้น - หากแผงที่ป็อปอัปของคุณเป็นเพียงเมนูย่อยที่มีลิงก์อยู่ในนั้น ลิงก์ <a href="/th#"> ก็น่าจะดี

แต่ถ้าแผงที่ป็อปอัปเป็น form ที่ทำให้เกิดการเปลี่ยนแปลงบางอย่างในเซิร์ฟเวอร์ (เช่น เพิ่มสินค้าลงในรถเข็น ฯลฯ) ดังนั้น <button> จะดีกว่าที่จะสื่อถึงวัตถุประสงค์ที่แท้จริงของแผง

ในการสร้างเลย์เอาต์ แนวทางปฏิบัติที่ดีที่สุดในปัจจุบันคือการใช้ <ul> วนซ้ำกล่องอาหารทั้งหมดของคุณ และสร้างองค์ประกอบ <li> สำหรับแต่ละกล่อง จากนั้นใช้ CSS เพื่อตั้งค่าและความสูงของแต่ละกล่อง และใช้ JavaScript เพื่อเปิดแผงขึ้นมา

ตัวอย่างเช่นสิ่งนี้:

<ul class="mealboxes">
  <li class="mealbox"><button id="box1" class="mealbox">Meal Box 1</button></li>
  <li class="mealbox"><button id="box2" class="mealbox">Meal Box 2</button></li>
  <li class="mealbox"><button id="box3" class="mealbox">Meal Box 3</button></li>
</ul>

การใช้คลาสแนบ CSS และคลิกตัวจัดการเหตุการณ์ และใช้รหัสปุ่ม คุณจะรู้ว่ามีการคลิกปุ่มกล่องอาหารใด ดังนั้นคุณจึงสามารถเปิดแผงที่ถูกต้องขึ้นมาได้

PS: หากต้องการซ่อนสัญลักษณ์แสดงหัวข้อย่อยในรายการ ให้ใช้ CSS ที่คล้ายกับสิ่งนี้:

ul.mealboxes {
 list-style: none;
}
person Laas    schedule 18.12.2015
comment
ขอบคุณ ลาส. มีวิธีที่เราสามารถนำมาใช้โดยใช้การควบคุมฝั่งเซิร์ฟเวอร์ได้หรือไม่ - person ram; 18.12.2015
comment
ขออภัย ฉันไม่ค่อยมีความรู้เกี่ยวกับ ASP.NET มากนัก แต่ฉันคิดว่าคุณจะต้องวนซ้ำกล่องอาหารของคุณ และสำหรับแต่ละองค์ประกอบให้สร้างปุ่ม runat="server" - person Laas; 21.12.2015

สมมติว่า id ของ div ที่คุณต้องการเติมด้วยปุ่มและ/หรือลิงก์คือ: cat จากนั้นใช้ jQuery:

$('#cat').html('<input type="button" name="" value="Button1"/>');

หากต้องการเพิ่มข้อความ:

 $('#cat').append('<a href="http://www.google.com">Click Here</a>');
person Abhishek Singh    schedule 18.12.2015