2010-10-15 8 views
10

मैं अपने Html.ValidationMessageFor द्वारा दिए गए कोड के HTMLAttributes को बदलना चाहता हूं, लेकिन मैं चाहता हूं कि संदेश "डिफ़ॉल्ट" हो।एमवीसी 2 एचटीएमएल। वैलिडेशन मैसेज के लिए: htmlAttributes जोड़ें लेकिन डिफ़ॉल्ट संदेश

अधिभार विकल्प हैं:
ए) Html.ValidationMessageFor(expression)
बी) Html.ValidationMessageFor(expression, validationMessage)
सी) Html.ValidationMessageFor(expression, validationMessage, htmlAttributesObject)

काश एक Html.ValidationMessageFor(expression, htmlAttributesObject) विकल्प नहीं था, लेकिन वहाँ नहीं है।

मैं विकल्प सी के साथ वांछित परिणाम कैसे प्राप्त कर सकते हैं? यही है, वह "डिफ़ॉल्ट" संदेश कहां संग्रहीत किया जाता है? क्या इसमें कोई साफ, आसान तरीका है, इसलिए मैं इसे सत्यापन मैसेज पैरामीटर में प्लग कर सकता हूं?

धन्यवाद

उत्तर

19

जब से तुम डिफ़ॉल्ट संदेश ओवरराइड करने के लिए नहीं करना चाहते हैं, बस एक खाली स्ट्रिंग की आपूर्ति और MVC डिफ़ॉल्ट संदेश का उपयोग करेगा:

<%: Html.ValidationMessageFor(m => m.propertyName, string.Empty, new { attribs ... }) %> 
+0

बिल्कुल सही। धन्यवाद। मुझे लगता है कि मुझे लगता है कि एक खाली स्ट्रिंग गुजरने से संदेश के लिए एक खाली स्ट्रिंग प्रस्तुत की जाएगी (या नहीं, जैसा कि यह थी)। तथ्य यह है कि पैरामीटर के रूप में रिक्त स्ट्रिंग एक सहायक ASP.NET या अधिक सामान्य नेट सम्मेलन में किसी प्रकार का डिफ़ॉल्ट ओवरराइड नहीं होगा है? या वह केस-दर-मामले आधार पर व्यवहार चर है? –

+0

वास्तव में भी नहीं। मुझे स्रोत कोड को देखकर इस कार्यक्षमता के बारे में पता चला, जब आपको मौका मिलता है तो यह देखने लायक है। इसके, इस तरह से किया गया विधि हस्ताक्षर (अभिव्यक्ति, validationMessage) के साथ संघर्ष के बिना क्योंकि वहाँ एक अलग विधि सिर्फ दो मापदंडों आप मूल रूप से उपयोग करना चाहते थे नहीं ले रही हो सकता है। – Clicktricity

+0

कैसे मैं (3 परम) एक नई लाइन पर या क्षेत्र यह validing है के तहत इस मान्यता को दिखाने के लिए यह बताने के लिए HTMLAttribute में पारित करते हैं? – VoodooChild

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

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