2012-03-12 8 views
7

मैं HtmlHelper एक्सटेंशन विधियां बना रहा हूं। अंतर्निर्मित फ्रेमवर्क विधियों में से कई HTMLAttributes (प्रकार ऑब्जेक्ट) जैसे पैरामीटर का समर्थन करते हैं जो परिणामी HTML पर प्रस्तुत किए जाते हैं। मैं अपने स्वयं के तरीकों के अधिभार कैसे प्रदान कर सकता हूं जो टैग पर विशेषताओं के रूप में प्रस्तुत करने के लिए स्ट्रिंग कॉन्सटेनेशन तर्क को दोबारा लिखने के बिना HTMLAttributes पैरामीटर का समर्थन भी कर सकता है?HtmlHelper एक्सटेंशन में HTMLAttributes पैरामीटर्स का समर्थन कैसे करें?

+0

क्या आप अब तक क्या ज़रूरत है? –

उत्तर

17

HtmlHelper ऑब्जेक्ट में एक ऐसी विधि है जो किसी ऑब्जेक्ट को किसी नाम/मान शब्दकोश में परिवर्तित करती है, जिसे आप अपने टैग में विलय कर सकते हैं।

var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) as IDictionary<string, object>; 

TagBuilder tag = new TagBuilder("script"); 
tag.MergeAttributes(attributes); 
tag.MergeAttribute("type", "text/javascript"); 
tag.MergeAttribute("src", scriptPath); 

आप या तो भार के प्रदान करने या डिफ़ॉल्ट मान का उपयोग htmlAttributes के लिए एक null मूल्य की आपूर्ति के लिए है, जो एक खाली Dictionary का उत्पादन करेगा कर सकते हैं: उदाहरण के लिए, इस कोड को एक <script> टैग जो कुछ के साथ अतिरिक्त विशेषताओं में पारित कर रहे हैं उत्पन्न होगा।

(विधि भी विशेषता नाम मान्य HTML विशेषताओं में, sanitizes आदि तो यह बस किसी भी वस्तु के बारे में पर उपयोग करने के लिए सुरक्षित है।)

+0

वाह, बस मुझे जो चाहिए था। धन्यवाद! – blaster

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