दिलचस्प पोस्ट
एंड्रॉइड: .sqlite एक्सटेंशन के साथ संपत्ति फ़ोल्डर एसक्यूलाइट डेटाबेस फ़ाइल तक पहुँचने आर में डेटाफ्रेम के रूप में बहुत बड़ी तालिकाओं को जल्दी से पढ़ना _t (अंडरस्कोर-टी) द्वारा किस प्रकार का अनुसरण किया जाता है? जाओ में टैग के लिए उपयोग क्या हैं? .NET में रेफ़ और आउट पैरामीटर में अंतर स्वयं ट्रैकिंग इकाइयां बनाम पीओसीओ संस्थाएं जावास्क्रिप्ट ऑब्जेक्ट में प्रॉपर्टी नाम के रूप में परिवर्तनीय शब्दशः? मैं एक स्टैक ट्रेस को स्ट्रिंग में कैसे रूपांतरित कर सकता / सकती हूं? शैल से एक्सपैथ एक-लाइनर्स कैसे निष्पादित करें? स्प्रिंग JSF एकीकरण: JSF प्रबंधित बीन में स्प्रिंग घटक / सेवा इंजेक्षन कैसे करें? सूची रिटर्न के साथ पायथन पुनरावर्तन कोई नहीं Bitwise shift (bit-shift) ऑपरेटरों और वे कैसे काम करते हैं? EditText कर्सर रंग सेट करें फोर्ट्रान 90 प्रकार का पैरामीटर स्प्रिंग एकाधिक इंपैप एडेप्टर

मॉडल के पूरे सेट को फ़ॉर्मडाटा में कैसे जोड़ें और इसे एमवीसी में प्राप्त करें

मैं फॉर्मडाटा के माध्यम से एक संपूर्ण सेट मॉडल ऑब्जेक्ट कैसे पास कर सकता हूं और इसे नियंत्रक में मॉडल प्रकार में परिवर्तित कर सकता / सकती हूं?

नीचे मैंने कोशिश की है!

जावास्क्रिप्ट भाग:

model = { EventFromDate: fromDate, EventToDate: toDate, ImageUrl: imgUrl, HotNewsDesc: $("#txthtDescription").val().trim(), }; formdata.append("model",model); 

तो इसे AJAX के माध्यम से पास करें, यह एक स्ट्रिंग होगी, और अगर मैं अनुरोध के मान को Request.Form["model"] हूं। Request.Form["model"] परिणाम समान होगा, यह स्ट्रिंग के रूप में प्राप्त किया जाएगा और "[object object]" हो जाएगा "[object object]"

क्या फॉर्मडाटा के माध्यम से मॉडल को पास करने और नियंत्रक में प्राप्त करने का कोई तरीका है?

वेब के समाधान से एकत्रित समाधान "मॉडल के पूरे सेट को फ़ॉर्मडाटा में कैसे जोड़ें और इसे एमवीसी में प्राप्त करें"

यदि आपका दृश्य किसी मॉडल पर आधारित है और आपने नियंत्रण को <form> टैगों के भीतर बना दिया है, तो आप मॉडल को FormData क्रमबद्ध कर सकते हैं।

 var formdata = new FormData($('form').get(0)); 

इसमें <input type="file" name="myImage" .../> उत्पन्न किसी भी फाइल भी शामिल होगी <input type="file" name="myImage" .../>

और इसका उपयोग करके इसे वापस पोस्ट करें

 $.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, }); 

और अपने नियंत्रक में

 [HttpPost] public ActionResult YourActionName(YourModelType model) { } 

या (अगर आपके मॉडल में HttpPostedFileBase लिए कोई संपत्ति शामिल नहीं है)

 [HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { } 

यदि आप अतिरिक्त जानकारी जो प्रपत्र में नहीं है जोड़ना चाहते हैं, तो आप इसे का उपयोग करके जोड़ सकते हैं

 formdata.append('someProperty', 'SomeValue'); 

यदि आप अजाक्स का उपयोग करते हुए फ़ॉर्म डेटा भेजना चाहते हैं। यह भेजने का तरीका है

 var formData = new FormData(); //File Upload var totalFiles = document.getElementById("Iupload").files.length; for (var i = 0; i < totalFiles; i++) { var file = document.getElementById("Iupload").files[i]; formData.append("Document", file); } formData.append("NameCode", $('#SelecterID').val()); formData.append("AirLineCode", $('#SelecterID').val()); $.ajax({ url: "/Controller/ActionName", type: "POST", dataType: "JSON", data: formData, contentType: false, processData: false, success: function (result) { } })