Saturday, 15 January 2011

c# - I have got trouble to send id from view to controler -


  @ मॉडेल 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