দ্রষ্টব্য আপনি এরকম কিছু করতে পারেন (কমপক্ষে এমভিসি 3 তে):
<td align="left" @(isOddRow ? "class=TopBorder" : "style=border:0px") >
আমি বিশ্বাস করলাম রেজার অ্যাড যুক্ত ছিল আসলে ব্রাউজার ছিল। যেমন এমভিসি 4 দিয়ে পরীক্ষা করার সময় রিসম ইঙ্গিত করেছিলেন (আমি এমভিসি 3 দিয়ে পরীক্ষা করিনি তবে আমি ধারণা করি আচরণ পরিবর্তন হয়নি), এটি আসলে উত্পাদন করে class=TopBorder
তবে ব্রাউজারগুলি এই জরিমানাটিকে পার্স করতে সক্ষম হয়। এইচটিএমএল পার্সারগুলি অনুপস্থিত বিশিষ্ট উদ্ধৃতিগুলিতে কিছুটা ক্ষমা করছে, তবে আপনার স্পেস বা নির্দিষ্ট অক্ষর থাকলে এটি ভেঙে যেতে পারে ।
<td align="left" class="TopBorder" >
বা
<td align="left" style="border:0px" >
আপনার নিজস্ব উদ্ধৃতি সরবরাহ করার সাথে কি ভুল হয়
যদি আপনি নেস্টেড কোটগুলির জন্য কিছু সাধারণ সি # কনভেনশন ব্যবহার করার চেষ্টা করেন তবে রেজিস্টর সেগুলি নিরাপদে পালানোর চেষ্টা করছে বলে আপনি দর কষাকষির চেয়ে আরও বেশি উদ্ধৃতি পাবেন। উদাহরণ স্বরূপ:
<button type="button" @(true ? "style=\"border:0px\"" : string.Empty)>
এই উচিত নির্ণয় <button type="button" style="border:0px">
কিন্তু রাজো C # এর থেকে সব আউটপুট পালাতে এবং এইভাবে সৃষ্টি করে:
style="border:0px"
আপনি কেবল নেটওয়ার্কটি জুড়ে প্রতিক্রিয়া দেখলে এটি দেখতে পাবেন। আপনি যদি কোনও এইচটিএমএল পরিদর্শক ব্যবহার করেন তবে প্রায়শই আপনি কাঁচা এইচটিএমএল নয়, আসলে ডিওএমটি দেখেন। ব্রাউজারগুলি এইচটিএমএলকে ডিওএমে পার্স করে এবং পার্সিং-পরে ডিওএমের উপস্থাপনা ইতিমধ্যে কিছু চমত্কার প্রয়োগ করেছে। এক্ষেত্রে ব্রাউজারটি দেখায় বৈশিষ্ট্যের মানটির চারপাশে কোনও উদ্ধৃতি নেই, এগুলি যুক্ত করুন:
style=""border:0px""
তবে ডিওএম ইন্সপেক্টরতে এইচটিএমএল চরিত্রের কোডগুলি সঠিকভাবে প্রদর্শিত হয় যাতে আপনি প্রকৃতপক্ষে দেখতে পান:
style=""border:0px""
ক্রোমে, আপনি যদি ডান ক্লিক করেন এবং এইচটিএমএল সম্পাদনা নির্বাচন করেন, এটি আবার স্যুইচ করে যাতে আপনি সেইসব বাজে এইচটিএমএল চরিত্রের কোডগুলি দেখতে পারেন, এটি পরিষ্কার করে দেয় যে আপনার আসল বাইরের উক্তি এবং এইচটিএমএল এনকোডেড অভ্যন্তরীণ উদ্ধৃতি রয়েছে।
সুতরাং নিজেকে উদ্ধৃত করার চেষ্টা করার সাথে সমস্যা হ'ল রেজার এগুলি থেকে রক্ষা পেয়েছে।
আপনি যদি উদ্ধৃতিগুলির সম্পূর্ণ নিয়ন্ত্রণ চান
উদ্ধৃতি অব্যাহতি রোধ করতে এইচটিএমএল.রো ব্যবহার করুন:
<td @Html.Raw( someBoolean ? "rel='tooltip' data-container='.drillDown a'" : "" )>
রেন্ডার্স হিসাবে:
<td rel='tooltip' title='Drilldown' data-container='.drillDown a'>
উপরেরটি পুরোপুরি নিরাপদ কারণ আমি কোনও ভেরিয়েবল থেকে কোনও এইচটিএমএল আউটপুট দিচ্ছি না। জড়িত একমাত্র পরিবর্তনশীল হ'ল তিনটি শর্ত। তবে সাবধান হোন যে ব্যবহারকারী সরবরাহিত ডেটা থেকে স্ট্রিং তৈরি করতে পারলে এই শেষ কৌশলটি আপনাকে কিছু সুরক্ষিত সমস্যা দেখা দিতে পারে। উদাহরণস্বরূপ, যদি আপনি ডেটা ক্ষেত্রগুলি থেকে ব্যবহারকারী সরবরাহিত ডেটা থেকে উদ্ভূত কোনও বৈশিষ্ট্য তৈরি করেন, এইচটিএমএল ব্যবহার করেন aw রা'র অর্থ স্ট্রিংটিতে অ্যাট্রিবিউট এবং ট্যাগের অকাল শেষ হতে পারে, তারপরে একটি স্ক্রিপ্ট ট্যাগ শুরু করতে হবে যা বর্তমানে লগ ইন করা পক্ষে কিছু করে ব্যবহারকারী (সম্ভবত লগ ইন করা ব্যবহারকারীর চেয়ে পৃথক)। সমস্ত ব্যবহারকারীর ছবির তালিকার সাথে আপনার একটি পৃষ্ঠা থাকতে পারে এবং আপনি প্রতিটি ব্যক্তির ব্যবহারকারীর নাম হিসাবে একটি সরঞ্জামদণ্ড স্থাপন করছেন এবং একজন ব্যবহারকারী নিজের নাম রেখেছেন'/><script>$.post('changepassword.php?password=123')</script>
এবং এখন অন্য যে কোনও ব্যবহারকারী এই পৃষ্ঠাটি দেখুন তাদের তাত্ক্ষণিকভাবে তার পাসওয়ার্ডটি এমন পাসওয়ার্ডে পরিবর্তিত হয়ে গেছে যা দূষিত ব্যবহারকারী জানেন।