এমভিসির এইচটিএমএল সাহায্যকারীদের দ্বারা উত্পন্ন কোনও এইচটিএমএল উপাদানের সাথে আমি কীভাবে শ্রেণীর বৈশিষ্ট্য যুক্ত করতে পারি?


188

এএসপি.এনইটি এমভিসি উদাহরণস্বরূপ @Html.ActionLink(), @Html.BeginForm()এবং আরও অনেকগুলি এইচটিএমএল সহায়কগুলি ব্যবহার করে এইচটিএমএল উপাদান তৈরি করতে পারে ।

আমি জানি যে আমি একটি বেনামী অবজেক্ট তৈরি করে ফর্মের বৈশিষ্ট্যগুলি নির্দিষ্ট করতে পারি এবং সেই বস্তুর (এই ক্ষেত্রে চতুর্থ) htmlAttributesপ্যারামিটারের জন্য পাস করতে পারি যেখানে idউপাদানটির জন্য একটি নির্দিষ্ট করে :

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})

তবে classগুণাবলীর কী হবে? স্পষ্টতই এটি কাজ করে না:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})

যেহেতু আমার দৃশ্যের জন্য অনুরোধ করা হচ্ছে কেবল এলোমেলো বাক্য গঠন ত্রুটিগুলি ছুঁড়ে ফেলেছে, কারণ এটি সি # কীওয়ার্ডের মুখোমুখি হওয়ার পরে অন্য কিছু প্রত্যাশা করে class

আমি চেষ্টা করেছি:

new { _class = "myclass"}

এবং

new { class_ = "myclass"}

আন্ডারস্কোরগুলি ড্যাশ দ্বারা প্রতিস্থাপিত হওয়ায় তারা কাজও করেনি ।

আমি জানি যে আমি হাতের দ্বারা এইচটিএমএল উপাদানগুলিও লিখতে পারি বা একটির ভিতরে ফর্মটি গুটিয়ে রাখতে <div class="myClass">পারি, তবে এটি কীভাবে করা হবে বলে মনে হয় তা জানতে আগ্রহী হব।

উত্তর:


348

সি # তে একটি নাম হিসাবে সংরক্ষিত কীওয়ার্ড রয়েছে এমন একটি সম্পত্তি সহ একটি বেনামি প্রকার (বা যে কোনও প্রকারের) তৈরি করতে, আপনি একটি স্বাক্ষর সহ সম্পত্তির নামটি পূর্বাবস্থায়িত করতে পারেন @:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { @class = "myclass"})

ভিবি.এনইটি-র জন্য এই বাক্য বিন্দুটি ব্যবহার করে সম্পন্ন হবে. , যা সেই ভাষায় সমস্ত বেনাম প্রকারের জন্য ডিফল্ট বাক্য গঠন :

Html.BeginForm("Foo", "Bar", FormMethod.Post, new with { .class = "myclass" })

আইএমও, পার্সারটি যথেষ্ট স্মার্ট নয়, যদি কোডের সেই বিন্দুতে প্রসঙ্গটি দেওয়া হয় তবে তার যদি সেই ইঙ্গিতটির প্রয়োজন হয়।
টুডমো

3

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

যদি <form/>উপাদানটিতে সিএসএস শ্রেণির উদ্দেশ্য ফর্মের মধ্যে উপাদানগুলির শৈলী নিয়ন্ত্রণ করা হয় তবে আপনি ক্লাসের বৈশিষ্ট্যটি যুক্ত করতে পারেন <fieldset/>যা এএসপি.নেট এমভিসি দ্বারা উত্পন্ন ওয়েব পৃষ্ঠাগুলিতে ডিফল্টরূপে কোনও ফর্ম আবদ্ধ করে। ফর্মের একটি সিএসএস ক্লাস খুব কমই প্রয়োজন হয়।


4
আপনি অবশ্যই সঠিক, তবে এই ক্ষেত্রে পৃথক। আমি কয়েকটি jquery প্লাগইনগুলির জন্য মেটাডেটা নির্দিষ্ট করার একটি উপায় খুঁজছিলাম। এটি সাধারণত শ্রেণীর গুণাবলীর অপব্যবহার করে করা হয়।
অ্যাড্রিয়ান গ্রিগোর

13
আপনি সেরা অনুশীলনগুলির পরামর্শ দিতে পারেন, তবে আমার কাছে যদি কোনও ফর্মের সিএসএস ব্যবহার করে এমন একটি টেম্পলেট থাকে তবে আমি টেমপ্লেটটিকে "সঠিক" করতে কসাই করতে যাচ্ছি না। বাস্তবতা হ'ল, কোনও গ্রাহক বেশি অর্থ প্রদান করতে পারবেন না কারণ আপনি সিএসএস দিয়ে সঠিক কাজটি করেছেন ...
খ্রিস্টান পেইন

1
@ ক্রিশ্চিয়ানপায়েন তারা ভবিষ্যতে আরও অর্থ প্রদান করতে বাধ্য হতে পারে কারণ আপনি তা করেন নি।
ইয়ান ওয়ারবার্টন

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