แอปพลิเคชัน mvc 4 จำเป็นต้องมีโมเดลอื่นเพื่อส่งคืนข้อมูลรวมในตารางและโมเดลที่มีอยู่หรือไม่

ฉันมีตาราง (และรุ่น) ที่มีคุณสมบัติต่อไปนี้ในแอปพลิเคชัน asp.net MVC 4:

โต๊ะวางทีวี

ความสูง ความกว้าง ความลึก ประเภท ยี่ห้อ ราคา

เมื่อผู้ใช้ตอบคำถามเกี่ยวกับพื้นที่ที่พวกเขามีสำหรับทีวี ฉันจะทำการเรียก ajax เพื่อพิจารณาว่าประเภทใดที่เป็นไปได้ที่จะพอดีกับพื้นที่ที่พวกเขาระบุไว้ คำถามต่อไปนี้ต้องการทีวีประเภทใด ดังนั้นบางตัวเลือกอาจต้องปิดการใช้งาน SQL สำหรับประเภทที่เหมาะสมในพื้นที่คือ "เลือกประเภทที่แตกต่างจากทีวีโดยที่ความสูง ‹ @ความสูงและความกว้าง ‹ @ความกว้างและความลึก ‹ @ความลึก" ฉันควร: 1. สร้างโมเดลใหม่ที่ฉันเรียกจากตัวควบคุมทีวีเพียงเพื่อส่งคืนประเภทที่แตกต่างกัน 2. เพิ่มวิธีการให้กับรุ่นทีวีที่ฉันเรียกจากตัวควบคุมทีวีที่เพิ่งส่งคืนรายการสตริงพร้อมประเภทที่เหมาะสม


person Sven Erikson    schedule 10.09.2013    source แหล่งที่มา


คำตอบ (1)


ขึ้นอยู่กับสิ่งที่คุณต้องการแสดงให้ผู้ใช้เห็นตามการเลือกของเธอ' ก.

  1. หากคุณต้องการแสดงชื่อทีวี + คำอธิบาย การส่งคืนรายการรุ่นทีวีก็สมเหตุสมผล

  2. หากคุณเพียงจะแสดงรายชื่อทีวีในกล่องคำสั่งผสม การส่งคืนรายการสตริงก็เพียงพอแล้ว

การเรียกการกระทำใหม่นั้นสมเหตุสมผลในทั้งสองกรณี IMHO

แก้ไข:

สำหรับ 2 - ฉันต้องการส่งคืนรายการสตริง - ฉันควรสร้างโมเดลข้อมูลใหม่สำหรับสิ่งนี้หรือเพิ่มวิธีการในโมเดลข้อมูลทีวีที่มีอยู่ซึ่งส่งคืนรายการสตริง

หากต้องการขยายคำถามข้างต้น เนื่องจากคำถามของคุณไม่ชัดเจน (อย่างน้อยฉันก็ไม่เห็นภาพ) ฉันจะถือว่ามีบางสิ่ง

กรณีที่ 1: คุณกำลังแสดงมุมมองว่า "TVSelection" ให้กับผู้ใช้ที่ไม่มีรายการ TVModels ในมุมมองนี้ คุณต้องการให้ผู้ใช้ป้อนค่าสามค่า ได้แก่ ความกว้าง ความสูง ความลึก ตอนนี้เมื่อผู้ใช้ป้อนค่าเหล่านี้ เธอสามารถส่งแบบฟอร์ม หรือคุณสามารถดึงรายชื่อแบรนด์ทีวีในเหตุการณ์ Lost Focus ได้เช่นกัน ไม่ว่าในกรณีใด คำถามคือคุณกำลังอัปเดตมุมมองที่มีอยู่โดยการเติมข้อมูลในกล่องคำสั่งผสมหรือคุณกำลังแสดงมุมมองใหม่ ฉันสมมติว่าคุณกำลังอัปเดตมุมมอง "TVSelection" ที่มีอยู่โดยการโทร AJAX ในกรณีนั้น คุณสามารถเรียกใช้เมธอดบนคอนโทรลเลอร์ของคุณ (ซึ่งแสดงมุมมอง "TVSelection") ซึ่งจะส่งคืนรายชื่อแบรนด์ทีวี

กรณีที่ 2: คุณกำลังแสดงมุมมอง "TVSelection" ที่มีรายการวัตถุ TVModel อยู่แล้ว และคุณอัปเดตแบบไดนามิกในการเลือกฟิลด์ที่ต้องการ (การกรอง) ในกรณีนี้ คุณสามารถเพิ่มวิธีการใน TVModel เองเพื่อกรองเฉพาะชื่อที่ตรงกับการเลือกของผู้ใช้

ฉันพบลิงก์เหล่านี้ที่เกี่ยวข้อง 1 & 2

หวังว่ามันจะสมเหตุสมผล

โปรดเพิ่มรายละเอียดเพิ่มเติมให้กับคำถามของคุณ หากข้อมูลนี้ไม่ตอบคำถามของคุณ

person SBirthare    schedule 10.09.2013
comment
สำหรับ 2 - ฉันต้องการส่งคืนรายการสตริง - ฉันควรสร้างโมเดลข้อมูลใหม่สำหรับสิ่งนี้หรือเพิ่มวิธีการในโมเดลข้อมูลทีวีที่มีอยู่ซึ่งส่งคืนรายการสตริง - person Sven Erikson; 11.09.2013
comment
@SvenErikson: ฉันไม่แน่ใจว่าฉันเข้าใจสถานการณ์ของคุณอย่างสมบูรณ์หรือไม่ แต่ฉันอัปเดตคำตอบด้วยการตั้งสมมติฐานเล็กน้อย ในกรณีที่มันช่วยได้ - person SBirthare; 11.09.2013