क्या मेरे मॉडल पर एक फॉर्म इनपुट में विदेशी कुंजी संबंध बांधना संभव है?एएसपी.नेट एमवीसी मॉडल बाध्यकारी विदेशी कुंजी रिश्ते
कहें कि मेरे पास Car
और Manufacturer
के बीच एक से अधिक संबंध हैं। मैं Car
को अपडेट करने के लिए एक फॉर्म बनाना चाहता हूं जिसमें Manufacturer
सेट करने के लिए एक चयन इनपुट शामिल है। मैं अंतर्निहित मॉडल बाध्यकारी का उपयोग करके ऐसा करने में सक्षम होने की उम्मीद कर रहा था, लेकिन मुझे लगता है कि मुझे इसे स्वयं करना होगा।
मेरे कार्रवाई विधि हस्ताक्षर इस तरह दिखता है:
public JsonResult Save(int id, [Bind(Include="Name, Description, Manufacturer")]Car car)
प्रपत्र पदों मान नाम, वर्णन और निर्माता, जहां निर्माता प्रकार int
का एक प्राथमिक कुंजी है। नाम और विवरण ठीक से सेट हो जाते हैं, लेकिन निर्माता नहीं, जो समझ में आता है क्योंकि मॉडल बाइंडर को पता नहीं है कि पीके फ़ील्ड क्या है। क्या इसका मतलब है कि मुझे एक कस्टम IModelBinder
लिखना होगा जो इससे अवगत है? मुझे यकीन नहीं है कि यह कैसे काम करेगा क्योंकि मेरे डेटा एक्सेस रिपॉजिटरीज़ को प्रत्येक Controller
कन्स्ट्रक्टर पर आईओसी कंटेनर के माध्यम से लोड किया जाता है।
बहुत उपयोगी उदाहरण! एक विचार जो मैं सुझाव दे सकता हूं, हालांकि, इस मॉडल बाइंडर को बाइंडर के अंदर जांचने के बजाय इस मॉडल बाइंडर को लक्षित करने के लिए 'IModelBinderProvider 'इंटरफ़ेस का उपयोग कर रहा है। ब्रैड विल्सन ने इस बारे में लिखा [यहां] (http://bradwilson.typepad.com/blog/2010/10/service-location-pt9-model-binders.html)। –
हाँ, यह बहुत अच्छा होगा। हालांकि, मैंने अभी तक एमवीसी 3 में अपडेट नहीं किया है। –