كما نعلم جميعًا، في ظل ASP.NET 2.0، توفر برامج Microsoft نظامًا من عناصر التحكم الجديدة، بعضها مفيد جدًا، مثل نظام إدارة الأعضاء وعناصر تحكم المعالج خطوة بخطوة، مما يوفر لنا الكثير من الوقت بالإضافة إلى ذلك، فإن البعض، مثل Gridview الذي تمت ترقيته من Datagrid، لا يبدو جيدًا في بعض الأحيان.
على الرغم من أن عنصر التحكم هذا يوفر لنا راحة كبيرة، إلا أنه يفقد المرونة أيضًا. على سبيل المثال، يمكن أن يؤدي تحديد عبارة SQL مباشرة إلى إكمال عمل الوصول إلى البيانات، كما أن عرض الترحيل والفرز أبسط من تناول الطعام. كما نعلم جميعًا، فإن هذا يتعارض مع تصميم البنية المنطقية متعدد الطبقات، مما يخلق موقفًا محرجًا بالنسبة للمبتدئين لإنشاء برامج قوية وكاملة بمجرد الاعتماد على عناصر التحكم هذه ، ولا نعرف كيف يعمل في الخلفية، بالنسبة للمبتدئين، إذا حدث خطأ ما، فليس لديهم أي فكرة عن مكان المشكلة، في حين أن المبرمجين ذوي الخبرة لن يتبنوا بالتأكيد مثل هذا التصميم القبيح. عندما نستخدمه لإكمال الترقيات والعمليات الأخرى، سنطلب التحقق من محتوى الإدخال، وهو أمر غير مريح أيضًا عند تشغيل عنصر التحكم، سيؤدي إلى إنشاء حقل ViewState ضخم، مما يتسبب في انخفاض الكفاءة في ظل كميات كبيرة من البيانات، يكون الأمر أكثر إزعاجًا. ومع ذلك، على الرغم من أنه يمكن الآن إجراء تسلسل ثنائي لـ DataSet، إلا أن النتائج لا تزال غير مرضية. ثم علينا أن نتساءل ما قيمة مثل هذه السيطرة؟
على الرغم من أن GridView يمكنه إجراء الترحيل، إلا أن أنماط الترحيل التي يوفرها محدودة، ومن الصعب جدًا تحديدها يدويًا. ثم مرة أخرى، إذا كنت بحاجة إلى عمليات بيانات قوية جدًا، مثل الفرز متعدد الأعمدة، أو التلخيص، أو التصدير، أو الإجمالي، أو حتى السحب والإفلات، وما إلى ذلك، فمن الأفضل استخدام وسائل أخرى لتحقيق ذلك، مثل ضوابط الأعمال و استخدام منصات العميل الذكية أكثر ملاءمة. يعد تصميم العشرات من سمات الأنماط في GridView أيضًا سيئًا للغاية، على الرغم من أنه يمكنك استخدام هذه السمات لإنشاء واجهة مستخدم رائعة جدًا، بمجرد أن يحتوي المشروع على العشرات من GridViews، فإن العمل على التعديل لا يمكن تصوره ببساطة، لذلك يتعين عليك استخدام أداة قوية مثل CSS لتحديد أسلوبها.
لا فائدة أيضًا من التحكم في مصدر بيانات SQL، مما يجعل البرمجة بسيطة جدًا. على الرغم من عدم وجود قيمة عملية لها في المشاريع واسعة النطاق، إلا أنني أعتقد أنها لا تزال تتمتع بفوائد معينة، على الأقل يمكنها تحسين مستوى الاهتمام بالبرمجة دون أن تكون مرتفعة جدًا ثقة الناس، أعتقد أنني استخدمت وظيفة الترميز التلقائي لـ DW مثل رجل أعمى لإنشاء موقع ويب شخصي للمتعة. على الرغم من أن الكود الذي تم إنشاؤه كان قبيحًا للغاية وكان المنطق مربكًا للغاية، فقد اعتمدت لاحقًا على حماسي الكامل. لن أكون حيث أنا اليوم إذا كنت شغوفًا بالبرمجة.
ما أنا أكثر تفاؤلاً بشأنه هو التحكم في مصدر البيانات المسمى ObjectDataSource. لماذا؟ يمكنه التحكم بحرية في منطق البرنامج في الخلفية، مما يجعل كل خطوة من العملية شفافة للغاية، بالإضافة إلى أنه يستخدم الميزات القوية التي توفرها الأدوية العامة يبدو البرنامج وكأنه شعور جيد. يوفر مصدر البيانات الكثير من الوقت لعملنا في ربط البيانات الأمامية، ويمكن أن يؤدي الاستخدام الجيد لهذه الميزة إلى توفير الكثير من الراحة لبرامجنا.
يعرف الأصدقاء الذين هم على دراية بـ StarterKit من Microsoft أن هناك برنامجًا نموذجيًا لموقع ويب شخصي، وهو مثال نموذجي لتطبيق مصدر بيانات الكائن، ويمكن القول أن ميزات التحكم الجديدة التي يوفرها ASP.NET 2.0 هي تم استخدامه بالكامل. يتم إكمال الكثير من العمل المنطقي بكمية صغيرة من التعليمات البرمجية. ولكن بعد كل شيء، إنه مجرد موقع ويب شخصي، والعمل في العديد من الأماكن لا يكفي، على سبيل المثال، يمكنني إرسال نموذج فارغ، ولا يقوم بأي فحوصات.
باختصار، سيؤدي الاستخدام الرشيد لهذه الضوابط الجديدة إلى تحسين الكفاءة بشكل كبير، كما سيمنح الأصدقاء ذوي مهارات البرمجة المنخفضة فرصة لتجربة تجربة C# جديدة حادة. من وجهة نظر وظيفية، أعتقد شخصيًا أنها أفضل بكثير من خدعة DW ثلاثية الأرجل. لا يزال العديد من الأشخاص يناقشون كيفية البرمجة ضمن DW، وهو أمر غير مناسب حقًا للواجهات.
فيما يتعلق بمسألة الترحيل، أعمل حاليًا على التحكم في الترحيل ضمن ASP.NET 2.0. بشكل عام، إنها ترقية وتحويل يعتمد على MSDN SQLPAGER في الإصدار 1.1. أولاً، يتم ترحيل البرنامج إلى الإصدار 2.0، وثانيًا، يتم إكماله في شكل عناصر تحكم المستخدم، يمكن توسيع نمط الترحيل بحرية وفقًا لتفضيلاتك الخاصة، ويمكنك استخدام كتلة الوصول إلى البيانات الخاصة بأحدث مكتبة مؤسسية من Microsoft للتواصل مع قاعدة البيانات السجلات، مما يحسن الكفاءة. لقد تم الانتهاء منه بشكل أساسي وسيتم إصداره في اليوم الجديد، ونرحب بالجميع للانتباه. في الوقت نفسه، نظرًا لمحدودية المستوى والطاقة، سيكون هناك حتماً بعض أوجه القصور والقصور، لكن لا تقلق، تم تطوير عنصر التحكم هذا باستخدام كود المصدر، ويمكنك توسيعه بحرية، وإذا كانت هناك مشاكل، يمكنك ذلك قم أيضًا بفحصها وتصحيحها من الكود المصدري.
فيما يتعلق بمسألة ترحيل البيانات الضخمة، رأيت شيئًا من قبل أجنبي على الإنترنت اليوم يبدو مثيرًا للاهتمام، وسأستغرق بعض الوقت لترجمته وتخصيصه للجميع، والفكرة العامة هي استخدام ميزة ROW_NUMBER() في SQL SERVER 2005. تعال للعمل.