मैं एमवीसी के लिए नया हूं, इसलिए शायद यह एक बेवकूफ सवाल है - मैं अपने सिर को एएसपी में दृढ़ता से टाइप किए गए विचारों के आसपास लाने की कोशिश कर रहा हूं। नेट एमवीसी। मैं संस्करण 3 पर काम कर रहा हूं। यदि मेरे पास 2 मॉडल के साथ एक परियोजना है - व्यक्ति और विभाग कहें। एक व्यक्ति को एक विभाग से संबंधित होना चाहिए। तो मैं अपने विभाग मॉडल है (और मैं अपने नियंत्रक और CRUD इंटरफ़ेस बना लेने के बाद):एएसपी.नेट एमवीसी 3, ड्रॉपडाउनलिस्ट दृढ़ता से टाइप किए गए दृश्य में भी व्यूबैग पर निर्भर करता है
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Department_Id { get; set; }
[ForeignKey("Department_Id")
public virtual Department Department { get; set;}
}
अब मैं अपने नियंत्रक और दृश्य उत्पन्न:
public class Department
{
public int Id { get; set;}
public string DeparmentName { get; set;}
}
तो मैं एक व्यक्ति मॉडल का संदर्भ जो विभाग है । अब, जब मैं PersonController गौर, मैं निम्नलिखित है बनाएँ:
public ActionResult Create()
{
ViewBag.Department_Id = new SelectList(db.Deparments, "Id", "DepartmentName");
return View();
}
और व्यक्ति \ Create.cshtml में, विभाग ड्रॉप डाउन बनाने के लिए कोड
@Html.DropDownList("Department_Id", String.Empty)
है मैं के रूप में इसे समझें, ड्रॉपडाउनलिस्ट एचटीएमएल हेल्पर मेरी ड्रॉप डाउन सूची बनाने के लिए व्यूबैग का उपयोग कर रहा है। हालांकि, फर्स्टनाम और लास्टनाम में व्यूबैग पर भरोसा किए बिना उनके इनपुट फ़ील्ड बनाए गए प्रतीत होते हैं - इसलिए मेरे दृश्य में, मैं अपने पहले नाम और अंतिम नाम फ़ील्ड पर समय-समय पर जांच कर सकता हूं क्योंकि मेरा विचार दृढ़ता से टाइप किया गया है, लेकिन मेरे ड्रॉपडाउनलिस्ट पर नहीं।
क्या कोई कारण है कि विभाग के लिए DropDownList दृढ़ता से टाइप नहीं किया गया है या क्या मैं कुछ गलत कर रहा हूं और इसे दृढ़ता से टाइप करने का एक तरीका है?
धन्यवाद :)
हाय एडविन - धन्यवाद - उस तरह की समझ में आता है - एक व्यक्ति के पास एक विभाग_आईडी है, लेकिन मैंने सोचा कि दृश्य मेरे व्यक्तिगत मॉडल के लिए बाध्यकारी था जो विभागों के संबंधों को विभाग के माध्यम से परिभाषित करता है "आभासी" संपत्ति? शायद मैं सिर्फ एमवीसी ढांचे में बहुत अधिक "जादू" की तलाश में हूं। – Rick
@ रिक: मुझे लगता है कि आप करते हैं। दृश्य केवल आपके व्यक्ति द्वारा परिभाषित एक विभाग से जुड़ा हुआ है।आप विभागों की पूरी सूची को स्थानांतरित करने के लिए व्यूबैग का उपयोग करते हैं। वैसे, व्यूबाग केवल व्यूडेटा (दूसरे उत्तर से) के चारों ओर एक रैपर है जो आपको गतिशील गुण बनाने की अनुमति देता है। –