@ मॉडेल IEnumerable & lt; Evidencija.Models.Vozilo & gt; @ {ViewBag.Title = "पोकर्नी इज़जजस्टाज"; लेआउट = "~ / दृश्य / साझा / _Layout.cshtml"; } & Lt; h2 & gt; पोकेरी इज़जजेस्टज & lt; / h2 & gt; @using (Html.BeginForm ()) {@ HTML.ValidationSummary (true) & lt; fieldet & gt; & LT; कथा & gt; Vozilo & lt; / कथा & gt; & Lt; p & gt; @ Html.DropDownList ( "Vozila", Model.Select (पी = & gt; नई SelectListItem {पाठ = p.VoziloID.ToString (), मान = p.VoziloID.ToString ()}), "Izaberi vozilo") & lt; / p & gt; & Lt; इनपुट प्रकार = "सबमिट करें" मान = "दोडाज स्टक्कु" / & gt; & Lt; / fieldset & gt; }
मैं ड्रॉपडाउन सूची के साथ कंट्रोलर को तालिका vozilo का आईडी भेजना चाहता हूं। कंट्रोलर vozilo को एक पैरामीटर के रूप में स्वीकार करता है लेकिन यह ollways शून्य है मैं कैसे viewmodel का उपयोग किए बिना इस हल कर सकते हैं
[HttpPost] public ActionResult PokreniIzvjestaj (Vozilo v) {ReportClass rpt = नए ReportClass ()।; Rpt.FileName = Server.MapPath ("~ / रिपोर्ट / Vozilo.rpt"); rpt.Load (); //ReportMethods.SetDBLogonForReport(rpt); //ReportMethods.SetDBLogonForSubreports(rpt); // rpt.VerifyDatabase (); rpt.SetParameterValue ( "@ VoziloId", v.VoziloID); स्ट्रीम स्ट्रीम = नल; Stream = rpt.ExportToStream (CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); वापसी फ़ाइल (स्ट्रीम, "एप्लिकेशन / पीडीएफ", "वोजिलो पीडीएफ"); // PortableDocFormat - पीडीएफ प्रारूप // आवेदन / पीडीएफ - vezan ZA पीडीएफ प्रारूप, Ako जेई Drugi टिप mjenja से यू zavisnosti आयुध डिपो izabranog //naziv.pdf - naziv dokumenta मैं izabrana ekstenzija} [HttpGet] public ActionResult PokreniIzvjestaj () {Var vozila = db.Voziloes.ToList (); वापसी देखें (वोजला); }
नियंत्रक से दो विधि हैं।
आप वर्तमान में आपके कोड को Vozilo
नाम के एक संपत्ति के लिए छोड़ दिया जाए एक <कोड> & lt; चयन & gt;। पोस्ट वापस एकल मान (आपके मामले में VoziloID
या चयनित विकल्प आपके पोस्ट विधि तो एक जटिल वस्तु Vozilo एक
int
(मानते हुए VoziloID मान प्रकार
int है) जो निश्चित रूप से विफल रहता है और मॉडल
नल है।
[HttpPost] public ActionResult PokreniIzvjestaj (int Vozilo) करने के लिए विधि
पैरामीटर Vozilo
अब के मूल्य में शामिल होंगे चयनित वोजिलोइड
।
हालांकि यह स्पष्ट नहीं है कि आप "व्यूमोल्ड उपयोग किए बिना इसे हल करें" जब एक दृश्य मॉडल है सही दृष्टिकोण
देखें मॉडल
सार्वजनिक वर्ग VoziloVM {[प्रदर्शन (नाम = "Vozilo")] [आवश्यक (त्रुटिसंदेश = "एक Vozilo का चयन करें") ] सार्वजनिक पूर्णांक SelectedVozilo {मिल; सेट;}? सार्वजनिक selectList VoziloList {मिल; सेट;}}
नियंत्रक
सार्वजनिक Actio NResult PokreniIzvjestaj () {var viziloList = db.Voziloes.Select (v = & gt; v.VoziloID); VoziloVM मॉडल = नया VoziloVM (); मॉडल। VoziloList = नया SelectList (viziloList) मॉडल। चुने गए Vozilo = // एक मान सेट करें यदि आप एक विशिष्ट विकल्प चयनित रिटर्न दृश्य (मॉडल) चाहते हैं; } [HttpPost] public ActionResult PokreniIzvjestaj (VoziloVM मॉडल) {// model.SelectedVozilo चयनित विकल्प के मूल्य में शामिल है ....}
देखें
<कोड > @ मॉडेल आपकाऐस्डैक्शंस। वोज़िलोम & gt; .... @ Html.LabelFor (एम = & gt; m.SelectedVozilo) @ Html.DropDownListFor (एम = & gt; m.SelectedVozilo, Model.VoziloList, "-Please select-") @ Html.ValidationMessageFor (एम = & gt; M.SelectedVozilo) ....
No comments:
Post a Comment