উত্তর:
আপনার যদি এই জাতীয় লেআউট.সি.এস.টি.এমএল ভিউ থাকে
<html>
<body>
@RenderBody()
@RenderSection("scripts", required: false)
</body>
</html>
তারপরে আপনার মতো একটি সূচি.কমটিএমএল সামগ্রী থাকতে পারে
@section scripts {
<script type="text/javascript">alert('hello');</script>
}
প্রয়োজনীয় ইঙ্গিত থাকুক বা না থাকুক বিন্যাস পৃষ্ঠা ব্যবহার দৃশ্য একটি স্ক্রিপ্ট অধ্যায় থাকতে হবে
যদি
(1) আপনার কাছে এইরকম একটি _ লেআউট.সি.এস.টি.এম.এল ভিউ আছে
<html>
<body>
@RenderBody()
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
@RenderSection("scripts", required: false)
</html>
(২) আপনার পরিচিতি সিটিএসটিএমএল রয়েছে
@section Scripts{
<script type="text/javascript" src="~/lib/contacts.js"></script>
}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h2> Contacts</h2>
</div>
</div>
(3) আপনার সম্পর্কে ..cshtml আছে
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h2> Contacts</h2>
</div>
</div>
আপনার লেআউট পৃষ্ঠায়, যদি প্রয়োজন হয় "" রেন্ডারসেকশন ("স্ক্রিপ্টস", প্রয়োজনীয়: মিথ্যা)) "এ সেট করা থাকে, যখন পৃষ্ঠা রেন্ডার এবং ব্যবহারকারী প্রায় পৃষ্ঠায় থাকে, পরিচিতি.জেগুলি রেন্ডার করে না।
<html>
<body><div>About<div>
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
</html>
যদি প্রয়োজন হয় "@RenderSication (" স্ক্রিপ্টস ", প্রয়োজনীয়: সত্য)" "তে সেট করা থাকে, যখন পৃষ্ঠাটি রেন্ডার এবং ব্যবহারকারী সম্পর্কে পৃষ্ঠায় থাকে, পরিচিতি.জেএসটি এখনও রেন্ডার হয়ে যায়।
<html>
<body><div>About<div>
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
<script type="text/javascript" src="~/lib/contacts.js"></script>
</html>
সংক্ষিপ্ত রূপে, যখন সত্যে সেট করা থাকে , আপনার এটির প্রয়োজন হয় বা অন্য পৃষ্ঠাগুলিতে নয়, এটি কোনওভাবেই রেন্ডার হবে। যদি সেট করা মিথ্যা , এটি শুধুমাত্র রেন্ডার হবে যখন শিশু পৃষ্ঠা অনুষ্ঠিত হয়।
এখানে থেকে রেন্ডারসেকশন সংজ্ঞা MSDN
বিন্যাস পৃষ্ঠাগুলিতে, একটি নামকৃত বিভাগের সামগ্রী উপস্থাপন করে। দুটিই MSDN
_Layout.cs পৃষ্ঠাতে
@RenderSection("Bottom",false)
এখানে বুটম বিভাগের বিষয়বস্তু রেন্ডার করুন এবং false
বিভাগটির প্রয়োজন আছে কিনা তা নির্দিষ্ট করতে বুলেট সম্পত্তি নির্দিষ্ট করে।
@section Bottom{
This message form bottom.
}
এর অর্থ আপনি যদি সমস্ত পৃষ্ঠায় নীচের অংশটি চান, তবে আপনাকে অবশ্যই রেন্ডারসেকশন পদ্ধতিতে দ্বিতীয় প্যারামিটার হিসাবে মিথ্যা ব্যবহার করতে হবে।
ধরুন আমার কাছে getAllEmployees.cshtml থাকলে
<h2>GetAllEmployees</h2>
<p>
<a asp-action="Create">Create New</a>
</p>
<table class="table">
<thead>
// do something ...
</thead>
<tbody>
// do something ...
</tbody>
</table>
//Added my custom scripts in the scripts sections
@section Scripts
{
<script src="~/js/customScripts.js"></script>
}
এবং অন্য স্ক্রিপ্টগুলির সাথে "গেটইম্প্লোয়েডেটেলস সিএসটিএমএল" দেখুন
<h2>GetEmployeeByDetails</h2>
@Model.PageTitle
<p>
<a asp-action="Create">Create New</a>
</p>
<table class="table">
<thead>
// do something ...
</thead>
<tbody>
// do something ...
</tbody>
</table>
এবং আমার লেআউট পৃষ্ঠা "_layout.cshtml"
@RenderSection("Scripts", required: true)
সুতরাং, যখন আমি getEmployeeDetails.cshtml নেভিগেট করি। আমি ত্রুটি পেয়েছি যে getEmployeeDetails.cshtml তে রেন্ডার করার জন্য কোনও বিভাগের স্ক্রিপ্ট নেই। যদি আমি এ পতাকা পরিবর্তন @RenderSection()
থেকে required : true
থেকে `প্রয়োজন: মিথ্যা`। এর অর্থ যদি উপস্থিত থাকে তবে @ সেকশন স্ক্রিপ্টগুলিতে সংজ্ঞায়িত স্ক্রিপ্টগুলি রেন্ডার করা উচিত E তবে কিছুই করবেন না। এবং পরিশোধিত পদ্ধতি _layout.cshtml এ থাকবে
@if (IsSectionDefined("Scripts"))
{
@RenderSection("Scripts", required: true)
}
Section not defined: "scripts".
প্রয়োজনীয় পতাকাটি সেট করার সময় আপনি আপনার প্রায় পৃষ্ঠাটি রেন্ডার করার সময় পেয়ে যাবেনtrue
।