سؤال

ما هو المقصود "بيانات العرض المكتوبة بقوة" في ASP.NET MVC؟

شكرًا

هل كانت مفيدة؟

المحلول

وجهة نظر مكتوبة بقوة في ASP.NET MVC ترث من System.Web.Mvc.ViewPage<T> ويحتوي على خاصية نموذجية من النوع المحدد بواسطة T. وهذا يتيح لـ Intellisense العمل في وجهات نظرك.

نصائح أخرى

كل منظر له ملف Model منشأه. إن كتابة العرض بقوة يعني لجعله يرث من البعض ViewPage<T>, ، وتصبح الخاصية النموذجية نوعًا من T. إذا لم تكتب عرضك بقوة ، فإن النموذج من نوع "كائن".

إن كتابة نموذج عرضك بقوة له مزايا من حيث يمكنك الوصول مباشرة إلى خصائص النموذج. تحصل على فحص Intellisense ومترجم ، بدلاً من الاعتماد على استخدام "الأوتار السحرية" للوصول إلى قاموس ViewData - والذي من شأنه أن ينكسر في وقت التشغيل إذا تغير نموذجك على الإطلاق.

على سبيل المثال ، إذا كان لديك

public class Person
{
   public int Age { get; set; }
}

وقد جعلت وجهة نظرك مكتوبة بقوة على Person الفصل ، ستتمكن من الوصول Model.Age من قوالب عرضك. إذا لم يتم كتابة وجهة نظرك بقوة ، فعندئذٍ Model لن يكون لديك أي خصائص للوصول إليها ، وسيتعين عليك إلقاءها صراحة على نوع أو تمرير بياناتك من خلال قاموس ViewData.

لاكتب هذا العرض بقوة ، يمكنك ببساطة أن ترث من ViewPage<Person>.

دعنا نقول أنك تحتاج إلى عرض عدة أجزاء من البيانات ذات الصلة بشكل فضفاض على عرض: معلومات الاتصال وتوقعات المبيعات وتاريخ الاتصال. يمكنك ببساطة حقنها في ViewData وسحبها واكتبها بقوة من العرض ، ومع ذلك فإن النهج الأفضل هو إنشاء نموذج مخصص يلف كل منها. بعد ذلك ، ستكتب بقوة العرض نفسه لهذا النموذج المخصص. يلعب في نوع السلامة ويجعل مساعد الرمز أكثر بديهية من بين فوائد أخرى مثل قابلية الاختبار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top