2012-03-26 5 views
6

एएसपी.नेट एमवीसी 3 में एचटीएमएल हेल्पर क्लास मैं सीएसएस क्लास सेट करने की कोशिश कर रहा हूं कि सत्यापन त्रुटि सहायक विधि सेट है। (this question नहीं, स्वीकार्य उत्तर केवल कक्षा को एडीडीएस है, मैं इसे पूरी तरह से ओवरराइड करना चाहता हूं।) एमवीसी 3 स्रोत को देखते हुए मुझे एचटीएमएलहेल्पर क्लास पर ValidationInputCssClassName संपत्ति मिली है। यह सेटटेबल है और सेट होने पर यह स्टोरेज प्रदाता में मान संग्रहीत करता है। संपत्ति के लिए प्राप्त विधि [प्रदाता मूल्य] ?? [डिफ़ॉल्ट वर्ग नाम] लौटाता है।System.Web.Webpages.Html बनाम सिस्टम.Web.Mvc नेमस्पेस

अब अगर आप अपने नियंत्रक कोड में HtmlHelper.ValidationInputCssClassName (MSDN entry) टाइप करते हैं तो आप देखेंगे कि यह एक स्थिर रीडोनली फ़ील्ड है। इसका कारण यह है कि दो HtmlHelper कक्षाएं हैं, एक System.Web.Mvc नामस्थान में है, और दूसरा System.Web.Webpages.Html नामस्थान में है। संपत्ति System.Web.Webpages.Html.HtmlHelper.ValidationInputCssClassName (MSDN entry) सेट किया जा सकता है, लेकिन ऐसा लगता है कि जेनरेट कोड पर कोई प्रभाव नहीं पड़ता है, इससे कोई फर्क नहीं पड़ता कि मैं इसे कहां सेट करता हूं।

मुझे क्या याद आ रही है? और इन वर्गों के बीच क्या अंतर है?

उत्तर

3

मैं सकारात्मक नहीं हूं लेकिन मुझे लगता है कि System.Web.WebPages.Html रेज़र के साथ एएसपीनेट वेबफॉर्म का उपयोग करने के लिए है।

ValidationInputCssClassName के बाद से, आदि सब केवल पढ़ने के लिए क्षेत्र हैं, मुझे लगता है कि एक ही रास्ता आप इस के आसपास पाने के लिए जा रहे हैं, ताकि आप इस व्यवहार को अनुकूलित कर सकते अपनी खुद की HtmlHelper विस्तार तरीकों बनाने के द्वारा है।

MSDN से

:

System.Web.WebPages नाम स्थान कोर कक्षाएं कि उपयोग किया जाता है प्रस्तुत करना और उन पृष्ठों को उस्तरा वाक्य रचना के साथ ASP.NET वेब पेज से बन रहे हैं निष्पादित करने के लिए होता है।

+0

मैं रेजर का उपयोग कर रहा हूँ। वेब में HtmlHelper प्रॉपर्टी। वेबपृष्ठ नामस्थान स्पष्ट रूप से कुछ द्वारा संशोधित करने का इरादा है। रोल-अप-खुद का आखिरी उपाय है, मैं प्रत्येक एमवीसी रिलीज के साथ अद्यतन पोर्टिंग नहीं करना चाहता! – Paul

+0

@ पॉल मैं रेजर के साथ वेबफॉर्म के बारे में बात कर रहा हूं। यह सिर्फ एक अनुमान है, लेकिन ऐसा लगता है कि ऐसा लगता है कि इसका उपयोग किया जाना चाहिए। एएसपीनेट वेबफॉर्म रेजर पेज। – Dismissile

3

नामस्थान विवरण को देखते हुए, ऐसा लगता है कि उनमें से एक को रेजर के लिए डिज़ाइन किया गया है और इसका उद्देश्य वेबमैट्रिक्स के साथ उपयोग करना है।

संदर्भ: http://msdn.microsoft.com/en-us/library/gg549171(v=vs.99).aspx

इसके अलावा:

System.Web.Mvc नाम स्थान कि HTML तत्वों को बनाने के लिए उपयोग किया जाता है वर्गों में शामिल है।

इस नेमस्पेस के प्रकार System.Web.WebPages असेंबली में हैं और System.Web.Mvc असेंबली में समकक्ष प्रकारों के समान हैं।

संदर्भ: http://msdn.microsoft.com/en-us/library/system.web.mvc(v=vs.99).aspx

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