البرمجة

تضمين عرض داخل عرض في ASP.NET MVC

عندما يتعلق الأمر بتقديم عرض داخل عرض آخر في ASP.NET MVC، هناك عدة طرق يمكنك استخدامها لتحقيق ذلك بنجاح. في حالتك، حيث ترغب في عرض عرض كامل (و ليس عرض جزئي) داخل عرض آخر وتحت نفس الإطار (layout)، يمكنك اتباع الخطوات التالية:

  1. إستخدام Html.RenderAction: يمكنك استخدام هذه الطريقة لاستدعاء عملية العرض لعرض آخر داخل عرضك الحالي. تقوم هذه العملية بإستدعاء عملية في العرض الأصلي التي يمكنها إنشاء عرض كامل جديد وتقديمه داخل العرض الحالي. على سبيل المثال:
csharp
@{ Html.RenderAction("ActionName", "ControllerName"); }

حيث “ActionName” هو اسم العملية في العرض الأصلي التي تريد استدعاءها، و “ControllerName” هو اسم الوحدة التحكم التي تحتوي على تلك العملية.

  1. استخدام Html.Action: يمكنك أيضًا استخدام هذه الطريقة لتحقيق نفس الغرض. تعمل بنفس الطريقة السابقة ولكن تختلف في الطريقة التي يتم فيها تمرير البيانات. فبدلاً من استدعاء العملية مباشرة، يمكنك تخزين الناتج في متغير واستخدامه في العرض. على سبيل المثال:
csharp
@{ var result = Html.Action("ActionName", "ControllerName"); } @Html.Raw(result)

هذا يسمح لك بتخزين ناتج العملية واستخدامه في أي مكان داخل عرضك.

  1. إستخدام @Html.Partial: إذا كان العرض الذي تريد إدراجه داخل عرضك ليس بحاجة إلى عملية مستقلة بل هو عرض جزئي يمكن استخدامه مباشرة، فيمكنك استخدام هذه الطريقة. على سبيل المثال:
csharp
@Html.Partial("_ViewName")

حيث “_ViewName” هو اسم العرض الجزئي الذي ترغب في تضمينه داخل عرضك الحالي.

تذكر أن تقوم بتعديل مسارات المشاهد في حال كانت مختلفة في حالة الطلبات المشتركة بين الوحدات التحكم.

باستخدام أي من هذه الطرق، يمكنك بسهولة تحقيق الهدف المطلوب وعرض عرض كامل داخل عرض آخر في ASP.NET MVC.

المزيد من المعلومات

عندما يتعلق الأمر بتقديم عرض داخل عرض في ASP.NET MVC، فإن هناك حاجة إلى فهم عميق لكيفية إدارة العروض والتواصل بين الوحدات التحكم المختلفة. في مثالك، ترغب في عرض صفحة قائمة الرغبات في وحدة التحكم الرئيسية، بينما تريد استخدام تخطيط مختلف للمستخدمين المسجلين.

أولاً وقبل كل شيء، يجب عليك التأكد من أن لديك العروض المطلوبة في مواقعها المناسبة. يجب أن يكون لديك عرض لصفحة قائمة الرغبات تحت وحدة التحكم الرئيسية، وعرض آخر لنفس الصفحة تحت وحدة التحكم المختلفة التي تستخدم تخطيطًا مختلفًا.

ثم، يمكنك استخدام أحد الأساليب المقترحة لتضمين العرض داخل العرض الأصلي. مع استخدام Html.RenderAction أو Html.Action، يمكنك استدعاء العملية المناسبة في الوحدة التحكم الرئيسية لعرض صفحة قائمة الرغبات بتخطيط الوحدة التحكم الثانية.

على سبيل المثال، في حالة استخدام Html.RenderAction، يمكنك استخدام الكود التالي داخل عرض الصفحة الرئيسية لعرض قائمة الرغبات:

csharp
@{ Html.RenderAction("Wishlist", "Home"); }

وفي الوحدة التحكم “Home”، يجب أن تقوم بتنفيذ العملية “Wishlist” التي تقوم بعرض صفحة قائمة الرغبات.

باستخدام هذا النهج، يمكنك تضمين صفحة قائمة الرغبات في أي صفحة ترغب فيها داخل عرضك الرئيسي، وبنفس الوقت، يمكنك الحفاظ على تخطيط مختلف للمستخدمين المسجلين عن طريق تنفيذ نفس العملية في وحدة التحكم المختلفة التي تتولى عرض صفحة قائمة الرغبات.

إذا كنت تفضل استخدام Html.Partial، فيمكنك استخدام الطريقة الثالثة لتضمين العرض كجزء من العرض الرئيسي، وذلك عن طريق استدعاء العرض الجزئي داخل العرض الرئيسي بواسطة الكود التالي:

csharp
@Html.Partial("_Wishlist")

وهنا، “_Wishlist” هو اسم العرض الجزئي الذي يحتوي على صفحة قائمة الرغبات.

باستخدام أي من هذه الطرق، يمكنك بسهولة تحقيق الهدف المطلوب وعرض عرض كامل داخل عرض آخر في ASP.NET MVC، مما يوفر لك المرونة في تصميم وتطوير تطبيقات الويب الخاصة بك.

زر الذهاب إلى الأعلى