শিশু টেম্পলেটটি উপস্থাপনের উপযুক্ত উপায় কী?
আর পার্থক্য কী? উভয়ই আমার পক্ষে কাজ করে বলে মনে হচ্ছে।
আর কেন @Html.RenderPartial()
আর কাজ হয় না?
উত্তর:
Html.Partial("MyView")
"মাইভিউ" ভিউটিকে একটিতে রেন্ডার করে MvcHtmlString
। এটি দেখার জন্য আদর্শ বিধি অনুসরণ করে (যেমন বর্তমান ডিরেক্টরি পরীক্ষা করুন, তারপরে Shared
ডিরেক্টরিটি পরীক্ষা করুন )।
Html.RenderPartial("MyView")
Html.Partial()
এটির মতো একই কাজ করে , এটি সরাসরি আউটপুটটি প্রতিক্রিয়া প্রবাহে লেখায়। এটি আরও কার্যকর, কারণ দেখার সামগ্রীটি মেমরিটিতে বাফার হয় না। তবে, কারণ পদ্ধতিটি কোনও আউটপুট ফেরত দেয় না, @Html.RenderPartial("MyView")
কাজ করবে না। পরিবর্তে আপনি একটি কোড ব্লক কল মোড়ানো আছে: @{Html.RenderPartial("MyView");}
।
RenderPage("MyView.cshtml")
(পাথ ও ফাইলের নাম দ্বারা বদলে দৃশ্য নাম দ্বারা চিহ্নিত) সরাসরি প্রতিক্রিয়া প্রবাহে নিদিষ্ট দৃশ্য উপস্থাপন করে, মত Html.RenderPartial()
। আপনি নিজের পছন্দ মতো যে কোনও মডেলটিকে দ্বিতীয় প্যারামিটার হিসাবে অন্তর্ভুক্ত করে সরবরাহ করতে পারেন
RenderPage("MyView.cshtml", MyModel)
@Html.Partial("MyView")
বনাম পড়তে হবে@{Html.RenderPartial("MyView");}
RenderPage
? আমি একটি নির্দিষ্ট ক্যোয়ারী প্যারামিটার নির্দিষ্ট করে একটি পৃথক পৃষ্ঠা বাসাতে চাই, যার ফলস্বরূপ page পৃষ্ঠার ডেটা ফিল্টার হবে এবং তদতিরিক্ত, তার নিজস্ব লেআউটটিও সরিয়ে ফেলবে।
আমি পছন্দ করি
@RenderPage("_LayoutHeader.cshtml")
ওভার
@{ Html.RenderPartial("_LayoutHeader"); }
কেবল সিনট্যাক্স সহজ এবং এটি আরও পাঠযোগ্য because এর বাইরে কোনও কার্যকারিতা বুদ্ধিমান কোনও পার্থক্য বলে মনে হচ্ছে না।
সম্পাদনা: রেন্ডার পার্টিশিয়ালের একটি সুবিধা হ'ল আপনাকে পুরো পথ বা ফাইল এক্সটেনশান নির্দিষ্ট করতে হবে না এটি সাধারণ স্থানগুলি স্বয়ংক্রিয়ভাবে অনুসন্ধান করবে।
RenderPage
সিনট্যাক্সের কারণেও আমি একমত ।
RenderPartial পদ্ধতি অন্যান্য অধিকাংশ সাহায্যকারী পদ্ধতি মত ফেরত দেয় না HTML মার্কআপ। পরিবর্তে, এটি প্রতিক্রিয়া প্রবাহে সরাসরি লিখিত সামগ্রী লিখিত হয়, সেজন্য আমাদের অবশ্যই সেমিকোলন ব্যবহার করে এটিকে C # এর সম্পূর্ণ লাইনের মতো কল করতে হবে।
আংশিক ভিউ থেকে রেন্ডার এইচটিএমএলকে বাফার করার চেয়ে এটি কিছুটা বেশি দক্ষ, যেহেতু এটি যেভাবেই প্রতিক্রিয়া প্রবাহে লেখা হবে। আপনি একটি আরো সামঞ্জস্যপূর্ণ সিনট্যাক্স পছন্দ করেন, তাহলে ব্যবহার করতে পারেন Html.Partial পদ্ধতি, যা ঠিক হিসাবে একই আছে RenderPartial পদ্ধতি, কিন্তু আয় একটি HTML টুকরা এবং @ Html.Partial ( "পণ্য", পি) হিসেবে ব্যবহার করা যাবে।