वहाँ एक अच्छे वाक्य रचना जब हाइफन विशेषताओं के साथ तत्वों के बजाय बनाने का उपयोग कर है:बंटे एचटीएमएल asp.net MVC के साथ जिम्मेदार बताते हैं
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
प्रस्तावित मानकों एचटीएमएल 5 और यह WIA ARIA के लिए HTML चश्मा को देखते हुए ऐसा लगता है कि एचटीएमएल विशेषताओं में हाइफ़न को सामान्य नाम अंतर के रूप में अधिक आम होने की योजना बनाई जा रही है।
उदा। एचटीएमएल 5 का प्रस्ताव है कि कस्टम गुण data-
के साथ प्रीफ़िक्स किए गए हैं और डब्ल्यूआईए एआरआईए सभी डब्ल्यूआईए एरिया विशेषताओं के लिए aria-
उपसर्ग का उपयोग करता है।
एएसपी.नेट एमवीसी जैसे एचटीएमएल हेल्पर्स का उपयोग करते समय <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
अनाम वस्तु को एक शब्दकोश में परिवर्तित कर दिया जाता है।
दुर्भाग्य से सी # में नामों में हाइफ़न के लिए कोई समर्थन नहीं है, इसलिए एकमात्र विकल्प एक शब्दकोश बनाना है। सिंटैक्स जिसके लिए बहुत वर्बोज़ है, क्या किसी ने पूरे एक्सटेंशन को दोबारा लिखने के बिना एएसपी.नेट एमवीसी के एचटीएमएल एक्सटेंशन की कार्यक्षमता को बदलने का एक अच्छा विकल्प या सरल तरीका देखा है?
+1 बस मुझे कुछ सचमुच बदसूरत कोड लिखने से बचाया। धन्यवाद! –
मुझे कई SO प्रश्नों के समान समस्या मिली, और यह सबसे अच्छा जवाब है। – user2780436
क्या आप अपने कथन का कारण जोड़ सकते हैं ** अंडरस्कोर HTML विशेषताएँ में मान्य नहीं हैं **। कम से कम [एचटीएमएल 4.01 राज्य] (http://www.w3.org/TR/html401/intro/sgmltut.html#didx-attribute): _ विशेषता मान में केवल अक्षर (एज़ और एजेड) हो सकते हैं, अंक (0- 9), हाइफ़ेंस (एएससीआईआई दशमलव 45), अवधि (एएससीआईआई दशमलव 46), अंडरस्कोर (एएससीआईआई दशमलव 95), और कोलन (एएससीआईआई दशमलव 58) _, – surfmuggle