उत्सर्जित नहीं करता है मैंने एक एमवीसी 3 एप्लिकेशन में आंशिक दृश्य बनाया है। यह दृश्य इस तरह एक जोरदार टाइप किया मॉडल हैं:एएसपी.नेट एमवीसी पार्टियल व्यू सत्यापन मार्कअप
public class ProductViewModel
{
[Required, Display(Name = "Product price")]
public decimal? ProductPrice
{
get;
set;
} ...
}
मेरी कार्रवाई विधि में मैं इस
PartialView("ProductViewModel", products[0]);
तरह PartialView विधि आह्वान लेकिन पृष्ठ पर मैं मान्यता तर्क के लिए किसी भी मार्कअप नहीं देख सकते हैं लेकिन और पृष्ठ पर कोई त्रुटि होने पर कुछ भी नहीं होता है। यदि मैं इस आंशिक दृश्य को एक संपादक टेम्पलेट के रूप में उपयोग करता हूं, तो यह काम करता है। किसी भी मदद की सराहना की है।
संपादित करें: अधिक विशिष्ट होने के लिए मेरे पास एक HTML फॉर्म है और मैं AJAX अद्यतन के माध्यम से इसे मार्कअप जोड़ना चाहता हूं (यदि कोई उपयोगकर्ता बटन पर क्लिक करता है, तो मैं उस फ़ॉर्म में नया मार्कअप जोड़ना चाहता हूं)। यदि मैं उन नियंत्रणों को स्थिर रूप से शामिल करता हूं, तो मेरा मतलब है कि यदि पृष्ठ लोड हो जाता है तो मैं उन्हें प्रस्तुत करता हूं, सत्यापन कार्य करता है लेकिन यदि मैं उस फ़ॉर्म में एजेक्स कॉल द्वारा नियंत्रण जोड़ता हूं, तो उन नियंत्रणों के लिए कोई सत्यापन मार्कअप डाला नहीं जाता है। मेरे आंशिक दृश्य इस तरह दिखता है:
@Html.LabelFor(x => x.ProductPrice)
@Html.TextBoxFor(x => x.ProductPrice)
@Html.ValidationMessageFor(x => x.ProductPrice)
मेरे प्रपत्र इस तरह दिखता है:
@using (Html.BeginForm())
{
<div id="div_Products">
@Html.EditorFor(x => x)
</div>
<input type="submit" value="Compare" />
}
कोड ऊपर अच्छी तरह से काम करता है, मान्यता काम करता है।
[HttpPost]
public ActionResult InsertProduct()
{
var newProductVM = new ProductViewModel{ ProductPrice = 789 };
return PartialView("~/Views/Nutrition/EditorTemplates/ProductViewModel.cshtml", newProductVM);
}
मैं पता लगा कि MVC इंजन केवल अगर यह पता चलता है कि नियंत्रण एक रूप नियंत्रण के अंदर हैं उन सत्यापन मार्कअप सम्मिलित करता है: सर्वर साइड पर मैं एक कार्य विधि है कि लगता है कि आह्वान। जब मैं एजेक्स कॉल के माध्यम से अपना फॉर्म कंट्रोल अपडेट करने का प्रयास करता हूं, तो एमवीसी को यह जानने का कोई तरीका नहीं है कि उन्हें एक फॉर्म तत्व के अंदर रखा जाएगा और यही कारण है कि यह उनके लिए कोई सत्यापन तर्क नहीं छोड़ता है, मुझे लगता है।
यह समझ में आता है कि एक संपादक "उत्सर्जन" सत्यापन त्रुटियों और ऐसे में, और यह एक दृश्य नहीं करता है। क्या हम आपके विचार के लिए कोड देख सकते हैं? – rfmodulator
समस्या यह है कि एमवीसी केवल सत्यापन चिह्न को सम्मिलित करता है अगर यह पता चलता है कि नियंत्रण एक रूप के अंदर हैं। समस्या यह है कि मैं AJAX अद्यतन के माध्यम से एक फॉर्म नियंत्रण में मार्कअप जोड़ना चाहता हूं लेकिन इस तरह एमवीसी इंजन यह नहीं जानता कि यह मार्कअप एक फॉर्म तत्व में डाला जाएगा और इसलिए यह किसी भी सत्यापन मार्कअप को उत्सर्जित नहीं करता है। – Zoliqa
आप इसे कुछ HTML.ValidationMessageFor() कोड के साथ मजबूर कर सकते हैं। जैसे मैंने कहा, कृपया हमें अपना विचार दिखाएं। – rfmodulator