2010-02-10 7 views
6

मैं स्ट्रिंग का उपयोग करके अपने सत्यापन के शीर्षक को प्रारूपित करना चाहता हूं जैसे:मैं एएसपी.नेट एमवीसी व्यू में त्रुटि गिनती कैसे पा सकता हूं?

"There are {0} errors on this page." 

मैं नियंत्रक में ऐसा किए बिना त्रुटियों की संख्या कैसे प्राप्त करूं और इसे ViewData में जोड़ूं?

उत्तर

17

मुझे लगता है कि आप दृश्य से मतलब मानते हैं। निम्नलिखित अनचाहे है।

ViewData.ModelState.Values.Where(v => v.Errors.Count != 0).Count() 
+0

परीक्षण पर विचार करें। यह एक इलाज करता है, धन्यवाद। –

2

आप IEnumerable<RuleViolation> के ASP.NET MVC 1.0 संस्करण की बात कर रहे हैं, तो आप गिनती इस तरह से प्राप्त कर सकते हैं:

var errorCount = GetRuleViolations().Count(); 

यह दृश्य डेटा में डाले बिना उस दृश्य में गिनती करने के लिए, आप कर सकते हैं , आप सत्यापन प्रमाणीकरण HtmlHelper एक्सटेंशन विधि के लिए एक अधिभार बना सकते हैं जो त्रुटि देता है जिसमें त्रुटि गिनती शामिल है। यह आपको एक्सटेंशन विधि के भीतर से त्रुटि गिनती तक पहुंच प्रदान करता है।

मूल प्रमाणीकरणसमूह एक्सटेंशन विधि में कोड देखने के लिए, आप इसे प्रतिबिंबित करने के लिए परावर्तक का उपयोग कर सकते हैं, या कोडप्लेक्स से एएसपी.नेट एमवीसी स्रोत डाउनलोड कर सकते हैं।

ध्यान दें कि एएसपी.नेट एमवीसी 2.0 में सत्यापन तंत्र काफी हद तक बदल गया है।

+0

धन्यवाद, लेकिन यह एमवीसी 2.0 –

संबंधित मुद्दे