ASP.Net MVC Simple Edit data from default template -


एक नया दृश्य बनाते समय और संपादन टेम्पलेट का चयन करते समय, टेम्प्लेट प्राथमिक कुंजी के लिए एक टेक्स्टबॉक्स बनाएगा जो कि संपादन योग्य नहीं है। < / P>

  & lt;% = Html.TextBox ("CompanyID", Model.CompanyID)% & gt;  

तो, दृश्य से नियंत्रण को हटाना, समस्या का कारण होगा: नियंत्रक पर पोस्ट करने वाला संग्रह कंपनी आईडी = 0 है, इसलिए कोई भी संपादन नहीं किया जाएगा। लेकिन अगर मैं उस कोड को देखने के लिए वापस डाल देता हूं, तो पोस्टेड संग्रह में कंपनी आईडी उचित मान है। मैं बहुत इस ट्यूटोरियल की तरह कर रहा हूँ?, और वहाँ (ऊपर ग्रे बॉक्स "लिस्टिंग 6 - नियंत्रकों \ HomeController.vb (विधियां संपादित)" अनुभाग) यह कह रहा है कि आप नियंत्रण हटा सकते हैं, लेकिन इसके काम नहीं कर रहा .. किसी भी सलाह < / P>

अपडेट किया हुआ ठीक है, और अधिक जानकारी के लिए, यहां 2 समस्याएं हैं: इस कोड में समस्या 1 :

  & lt; AcceptVerbs (HttpVerbs.Post) & gt; _ समारोह संपादित करें (ByVal movieToEdit फिल्म के रूप में) के रूप में ActionResult  

यदि आप देखने से MovieID पाठ बॉक्स को हटाने movietoedit संग्रह में movieid हमेशा शून्य है, इसलिए tutortial से Asp.net वेबसाइट काम अभ्यस्त! अगर मैं दृश्य से movieID हटाना चाहते हैं, मैं इस तरह मेरी नियंत्रक को आईडी पारित करने के लिए है:; AcceptVerbs (HttpVerbs.Post) & gt

 <कोड> & lt; _ समारोह संपादित करें (पूर्णांक के रूप में ByVal आईडी, ByVal movieToEdit फिल्म के रूप में) के रूप में ActionResult  

अब मैं इस आईडी .. thats कोई समस्या का उपयोग कर मॉडल क्वेरी कर सकता है, लेकिन यह मुझे पता लगाना करने के लिए कुछ समय लेता है , जैसा कि मैं वेबसाइट से कदम से कदम कर रहा था!

समस्या 2 तो, छुपा पाठ बॉक्स में भी मूवीआईडी ​​का उपयोग किए बिना संपादित करें कैसे करें?
I यह मेरे नियंत्रक के रूप में उपयोग कर रहा है: (एन्टीआई फ्रेमवर्क का उपयोग करना)

  & lt; AcceptVerbs (HttpVerbs.Post) & gt; _ समारोह संपादित करें (ByVal आईडी पूर्णांक, ByVal संग्रह के रूप में कंपनी के रूप में) ActionResult तो नहीं ModelState.IsValid फिर वापसी देखें () अंत तो प्रयास करें मंद c = _db.CompanySet.FirstOrDefault (फंक्शन (एम) m.CompanyID = आईडी) यदि ग के रूप में कुछ भी नहीं है तो फिर वापसी RedirectToAction ( "सूचकांक") अंत है तो _db.ApplyPropertyChanges (c.EntityKey.EntitySetName, संग्रह) _db.SaveChanges () वापसी RedirectToAction ( "सूचकांक") पकड़ने पूर्व अपवाद के रूप में पूर्व समाप्ति फेंक समाप्ति समारोह का प्रयास करें  

और अगर मैं CompanyID को मेरे दृश्य (टेक्स्टबॉक्स या छिपे हुए क्षेत्र) से निकाल देता हूं तो मुझे यह त्रुटि c.EntityKey.EntitySetName से देगी:
ऑब्जेक्टस्टेट प्रबंधक को ऑब्जेक्टस्टेट एंटर का कोई ऑब्जेक्ट के संदर्भ में नहीं है प्रकार 'कंपनियां.कंपनी'। और अगर मैं

  & lt;% = Html.TextBox ("CompanyName", Model.CompanyName)% & gt; जैसे कुछ जोड़ता हूं।  

यह ठीक काम करेगा .. मैं उलझन में हूँ!

ध्यान दें: मैंने 10 बार से अधिक कोड की जांच की, और मुझे आश्चर्य है कि क्या कुछ भी गलत है या ट्यूटोरियल गलत है ..

संपादन कार्य के मार्ग में आईडी को जोड़ना:

  & lt;% का उपयोग (एचटीएमएल.बीजिनफॉर्म ("एडिट", "कंट्रोलर", नया {आईडी = मॉडल.आईडी}, फॉर्ममैथ.पॉस्ट)) {% & gt;  

या छिपा हुआ फ़ील्ड:

  & lt;% = Html.Hidden ("CompanyID", Model.CompanyID)% & gt;  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -