এএসপি.নেট: আক্ষরিক বনাম লেবেল


102

আমি কখন এবং কোথায় আপনার LITERALউপর একটি নিয়ন্ত্রণ ব্যবহার করা উচিত সে সম্পর্কে কিছু কর্তৃপক্ষের কথা শুনতে চেয়েছিলাম LABEL

আমি এটি বুঝতে পারছি বলে পার্থক্যটি হ'ল: যুক্ত LABELহওয়া <SPAN>ট্যাগগুলির মাধ্যমে একটি এ স্টাইল করা যেতে পারে ।

আমি ব্যক্তিগতভাবে <SPAN>আমার এইচটিএমএলে ট্যাগগুলির সংযোজনটি খুব বিরক্তিকর LITERALবলে মনে করি এবং এএসপির মাধ্যমে বাস্তবে কখনও শৈলী প্রয়োগ করি না এবং তাই বেশিরভাগ সময় ব্যবহার করা উচিত বলে মনে হয় ... তবে আমি অন্যান্য বিষয়ে বিবেচনা বা সুবিধাসমূহ নিয়ে উদ্বিগ্ন concerned এটি সম্পর্কে একটি লেবেল ব্যবহার করা যা আমি অসচেতন।

যদি আমরা তাদের সাথে স্টাইল প্রয়োগ না করে থাকি তবে কোনও LABELএস এর সাথে প্রতিস্থাপন করা কি 100% জরিমানা LITERAL? অন্য কোন বিবেচনা আছে?

উত্তর:


126

হ্যাঁ, মূল পার্থক্যটি হ'ল Literalনিয়ন্ত্রণগুলি কেবল পাঠ্য সরবরাহ করে তবে Labelতা <span>ট্যাগ সহ চারপাশে নিয়ন্ত্রণ করে (আপনি যদি AssociatedControlIDসম্পত্তিটি ব্যবহার না করেন , তবে কোনও ক্ষেত্রে Labelনিয়ন্ত্রণ কোনও <label>ট্যাগ রেন্ডার করবে )।

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

আপনি (ব্যবহার করে যেমন আমাদের পণ্য কোন মডেল প্রয়োগের না করে থাকেন Label'র CssClassসম্পত্তি), এটি প্রতিস্থাপন করতে ঠিক থাকবে Labelসঙ্গে নিয়ন্ত্রণ Literalনিয়ন্ত্রণ।


1
সুতরাং, কেবল এখানে নিশ্চিত করার জন্য, এখানে অন্যান্য কোনও বিবেচনা নেই? আমি জিজ্ঞাসা করি কারণ আপনি "মূল পার্থক্য হ'ল ..." লিখেছেন। স্পষ্টতই আমি মূল পার্থক্যে আগ্রহী নই। ধন্যবাদ।
চক লে বাট

2
@ জাঙ্গো: ক্রিস মেরিসিকের উত্তরটি সত্যই গুরুত্বপূর্ণ; Labelআপনি যখন কোনও HTML <label>উপাদান চান তখন এএসপি.নেট নিয়ন্ত্রণগুলি সর্বদা ব্যবহার করা উচিত । এগুলি ছাড়াও, লেবেলগুলি পাঠ্য রেন্ডার করে <spans>, ল্যাটারালগুলি দেয় না এবং লিটারালগুলি কীভাবে পাঠ্য রেন্ডার করা হয় তার উপরে আপনাকে আরও বেশি নিয়ন্ত্রণ দেয়। উভয় নিয়ন্ত্রণে কোনও বিশেষ ইভেন্ট নেই এবং ঠিক সেভাবে ( Textসম্পত্তির মাধ্যমে ) কোড-পেছনে তাদের বিষয়বস্তু অ্যাক্সেস করা যায় ।
গ্রাহাম ক্লার্ক

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

34

আপনার কোডটি যখন অনুরূপ থাকে

<asp:Label EnableViewState="false" ID="Label8" runat="server" 
        AssociatedControlID="txtEmail">Email Address:</asp:Label>

<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>

এটি একটি লেবেল উপাদানটি ব্যবহার করা সর্বোত্তম কারণ এটি আপনার পাঠ্য বাক্সটিকে লক্ষ্য labelকরে সঠিক forবৈশিষ্ট্য সহ এটি একটি এইচটিএমএল উপাদানে পরিণত করবে , যাতে কোনও ব্যবহারকারী যদি লেবেলে ক্লিক করেন তবে এটি স্বয়ংক্রিয়ভাবে পাঠকের ক্ষেত্রে কার্সার সেট করে।

অন্যথায় লিখিত মোড়ানো না থাকলে আক্ষরিক ব্যবহার না করা spanCSS স্টাইলিংয়ের জন্য উপকারী হবে।


19

এখানে চিত্র বর্ণনা লিখুন

সরল পাঠ্য, ফর্ম্যাট করা পাঠ্য বা এইচটিএমএল পাঠ্য যেমন হয় তেমন প্রদর্শন করতে আমি প্রথমে এর লাইটওয়েট হিসাবে আক্ষরিক দিয়ে শুরু করব এবং অতিরিক্ত স্প্যান ট্যাগগুলি বের করে না।

এই ভিডিওটি দেখুন যা সেই অতিরিক্ত ট্যাগগুলি সম্পর্কে প্রদর্শন করে।

তবে আমরা একটি আক্ষরিক উপর সিএসএস প্রয়োগ করতে পারি না, আমরা লেবেল 1 এর মতো বৈশিষ্ট্যগুলি যুক্ত করতে পারি না ttএর্ট্রিবিউটস a আক্ষরিক সাথে যুক্ত করুন। আক্ষরিক স্প্যান ট্যাগ ঘিরে না থাকায় কোনও ধারক ওরিয়েন্টেড জিনিস অর্জন করা যায় না।

ডিফল্টরূপে অনেকগুলি এএসপি.নেট ওয়েবফর্ম ছেলেরা দেখতে পেলেন যে এটি অতিরিক্ত স্প্যান ট্যাগ জেনারেট করে যা আপনার এইচটিএমএলকে ভারী করে তুলতে পারে আপনার লেবেলটি ভারী করতে পারে তা না জেনেও পাঠ্য প্রদর্শন করতে লেবেলটি চয়ন করুন।


3

এসপ নেটনে পার্থক্য বি / ডাব্লু লেবেল এবং আক্ষরিক নিয়ন্ত্রণ

প্রায় সমস্ত উপায়ে একটি লিটারাল নিয়ন্ত্রণ লেবেল নিয়ন্ত্রণের সমান। এই দুটি নিয়ন্ত্রণই কোনও ওয়েবফোমে পাঠ্য প্রদর্শন করতে ব্যবহৃত হয়। (পাঠ্য সম্পত্তিটি HTML এ বা কোড-পিছনে সেট করা যেতে পারে set)

সর্বাধিক পার্থক্য হ'ল লেবেল নিয়ন্ত্রণ spanযখন রেন্ডার করা হয় তখন পাঠ্যটি গুটিয়ে দেয় । লেবেল নিয়ন্ত্রণে প্রয়োগ করা কোনও স্টাইল, এর styleসম্পত্তি ব্যবহার করে রেন্ডার করা হবে span

উদাহরণস্বরূপ, নিম্নলিখিত এইচটিএমএল

<asp:Label ID="Label1" runat="server"  Text="Label Text"
ForeColor="Red" Font-Bold="true" ></asp:Label>

হিসাবে রেন্ডার করা হবে

<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>

একটি আক্ষরিক নিয়ন্ত্রণ কোনও আশেপাশের ট্যাগগুলিকে আউটপুট দেয় না, সুতরাং পাঠ্যটি প্রদর্শিত হবে:

উদাহরণস্বরূপ, নিম্নলিখিত এইচটিএমএল

<asp:Literal ID="Literal1" runat="server" 
Text="Literal Control Text"></asp:Literal>

হিসাবে রেন্ডার করা হবে

Literal Control Text

সুতরাং আপনি যদি লেবেল নিয়ন্ত্রণের চেয়ে কোনও স্টাইল প্রয়োগ করতে চান তবে অন্যথায় লিটারাল নিয়ন্ত্রণ ব্যবহার করুন। এর কারণে, লেবেল নিয়ন্ত্রণের সাথে তুলনা করা হলে আক্ষরিক নিয়ন্ত্রণ একটি হালকা ওজন নিয়ন্ত্রণ।

এফওয়াইআই: আক্ষরিক নিয়ন্ত্রণ শ্রেণীর জন্য উত্তরাধিকারের শ্রেণিবদ্ধতা (অবজেক্ট => কন্ট্রোল => লিটারাল) , যেখানে লেবেল নিয়ন্ত্রণ হিসাবে, স্তরক্রমটি হ'ল (অবজেক্ট => নিয়ন্ত্রণ => ওয়েবকন্ট্রোল => লেবেল)


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