এসপিএন এমভিসি সহ হাইফেনেটেড এইচটিএমএল বৈশিষ্ট্য


111

হাইফেনেটেড অ্যাট্রিবিউটের সাহায্যে উপাদানগুলি তৈরি করার পরিবর্তে একটি দুর্দান্ত সিনট্যাক্স রয়েছে:

<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>

প্রস্তাবিত স্ট্যান্ডার্ড এইচটিএমএল 5 এবং ডব্লিউআইএ এআরআইএর জন্য এইচটিএমএল স্পেসগুলি দেখে মনে হচ্ছে যে এইচটিএমএল বৈশিষ্ট্যগুলিতে হাইফেনগুলি কিছু সাধারণ নাম ফাঁক করার জন্য আরও সাধারণ হওয়ার পরিকল্পনা করা হচ্ছে।

উদাহরণস্বরূপ, এইচটিএমএল 5 প্রস্তাবিত কাস্টম বৈশিষ্ট্যগুলি data-উপসর্গযুক্ত এবং ডাব্লুআইএআরআইএ aria-সমস্ত ডাব্লুআইএআরআইএ বৈশিষ্ট্যগুলির জন্য উপসর্গটি ব্যবহার করে ।

এএসপি.নেট এমভিসিতে যেমন এইচটিএমএল সাহায্যকারী ব্যবহার <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>করার সময় বেনামে থাকা অবজেক্টটি অভিধানে রূপান্তরিত হয়।

দুর্ভাগ্যক্রমে সি # তে নামগুলিতে হাইফেনের জন্য কোনও সমর্থন নেই, তাই অভিধান তৈরি করার একমাত্র বিকল্প হ'ল। সিনট্যাক্স যার জন্য খুব ভার্বোস, পুরো এক্সটেনশানটি আবার না লিখে কোনও এসআইপি.এনট এমভিসির এইচটিএমএল এক্সটেনশনের কার্যকারিতা পরিবর্তন করার কোনও সহজ বিকল্প বা সহজ উপায়টি কি কেউ দেখেছেন?

উত্তর:


202

ডেটা অ্যাট্রিবিউট নামের একটি আন্ডারস্কোর ব্যবহার করুন এবং এটি যাদুকরীভাবে এটি আপনার জন্য হাইফেনে রূপান্তর করবে handle এটি জানে যে আপনি আন্ডারস্কোরের চেয়ে হাইফেন চান কারণ এইচটিএমএল বৈশিষ্ট্যের নামগুলিতে আন্ডারস্কোরগুলি বৈধ নয়।

<%= Html.TextBox("name", value, new { @data_foo = "bar"}) %>

2
আমি বেশ কয়েকটি এসও প্রশ্নের অনুরূপ একটি সমস্যা পেয়েছি এবং এটি সেরা উত্তর।
ব্যবহারকারী 2780436

আপনি কি আপনার যুক্তির আন্ডারস্কোরগুলির কারণটি এইচটিএমএল বৈশিষ্ট্যে বৈধ নয় তার কারণ যুক্ত করতে পারেন । কমপক্ষে এইচটিএমএল 4.01 বলেছে : বৈশিষ্ট্যটির মানটিতে কেবল অক্ষর (এজেড এবং এজেড), অঙ্কগুলি (0-9), হাইফেনস (এএসসিআইআই দশমিক 45), পিরিয়ডস (এএসসিআইআই দশমিক 46), আন্ডারস্কোর (এএসসিআইআই দশমিক 95) এবং কলোনস থাকতে পারে ( হওয়া ASCII দশমিক 58) ,
surfmuggle

@threeFourOneSixOne তিনটি আপনার উদ্ধৃতিটি গুনের মানকে বোঝায়, তবে এই প্রশ্নে আমরা বৈশিষ্ট্যের নাম উল্লেখ করছি।
ED-209

@ থ্রিফৌরঅনসিক্সঅন তিনটি আমি আমার উত্তরটির শেষ পরিবর্তন করেছি 'আন্ডারস্কোরগুলি এইচটিএমএল বৈশিষ্ট্যের নামে বৈধ নয়'
ED-209

19

দেওয়া উত্তর ActionLink htmlAttributes হাইফেন পরিবর্তে আন্ডারস্কোর ব্যবহার দাড়ায়। এমভিসি.নেট ব্রাউজারে পৃষ্ঠাটি প্রেরণ করার সময় আন্ডারস্কোরগুলির পরিবর্তে হাইফেন নির্গত করার কথা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.