c# - مصاريف - Razor/CSHTML-أي فائدة على ما لدينا؟




مصاريف فتح حساب توفير فى البنك الاهلى المصرى (3)

أي شخص هناك يستخدم ميزة صفحات CSHTML الجديدة ويجد أنهم يفضلون بناء محرك عرض جديد على محرك العرض الافتراضي ASP.NET MVC الحالي أو عبر نماذج الويب ، وإذا كان الأمر كذلك ، فلماذا؟ ماذا عن CSHTML يمنحك ميزة على MVC أو نماذج الويب ، أو العكس؟

مجرد فضول لسماع الناس تأخذ عليه.


رأي مايكروسوفت المطور السابق

عملت على فريق أساسي للموقع MSDN. الآن ، استخدم الشفرة c # للمواقع التجارية الإلكترونية مع فريق البرمجة الخاص بنا ، ونركز ثقيلًا على واجهة jQuery الأمامية مع الصفحات الخلفية c # razor وقاعدة بيانات LINQ-Entity بحيث تكون الصفحات ذات أوقات استجابة تتراوح من 1-2 مللي ثانية حتى عند التداخل مع الحلقات مع الاستعلامات ولا تخزين مؤقت للصفحة. نحن لا نستخدم MVC ، مجرد ASP.NET عادي مع صفحات موسّعة يتم تخطيطها باستخدام وحدة إعادة كتابة URL لـ IIS 7 ، أو صفحات ASPX أو ViewState أو برمجة حدث من جانب الخادم على الإطلاق. لا يحتوي على الطبقات الإضافية (غير الضرورية) التي تضعها MVC في بنية التعليمة البرمجية للتعبير المعتاد. أقل هو أكثر بالنسبة لنا. وكلها هزيلة وتعني ولكنني أعطي الدعائم لـ MVC لإختبارها ولكن هذا كل شيء.

لا تحتوي صفحات Razor على دورة حياة الحدث مثل صفحات ASPX. تقديمه فقط كصفحة واحدة مطلوبة. C # هي لغة عظيمة وراوز يخرج من طريقه بشكل جيد لتركه يقوم بعمله. إن الكتابة المجهولة بالأدوية و linq تجعل الحياة سهلة مع صفحات c # و razor. سوف يساعدك استخدام صفحات Razor على التفكير والرمز.

واحد من عيب Razor و MVC هو أنه لا يوجد أي مثيل لـ ViewState. كنت بحاجة إلى تنفيذ حل لذلك ، لذا انتهى بي الأمر إلى كتابة مكوّن jQuery لذلك هنا -> http://www.jasonsebring.com/dumbFormState وهو عبارة عن مكوّن إضافي متوافق مع HTML5 للتخزين دون اتصال لحالة النموذج التي تعمل في جميع المتصفحات الآن. إنه فقط لحالة النموذج حاليًا ولكن يمكنك استخدام window.sessionStorage أو window.localStorage بكل بساطة لتخزين أي نوع من الحالة عبر postbacks أو حتى طلبات الصفحة ، لقد أزعجت فقط لجعلها autosave و namespace أنها تعتمد على URL و فهرس النموذج لذلك ليس عليك التفكير في الأمر.


  1. يتم ترميز كل شيء افتراضيا! هذا ضخم جدا.

  2. يمكن تجميع المساعدين التعريفيين بحيث لا تحتاج إلى القيام بأي شيء خاص لمشاركتها. أعتقد أنهم سوف يحلوا محل ضوابط asascx إلى حد ما. لديك للانتقال عبر بعض الأطواق لاستخدام عنصر تحكم .ascx في مشروع آخر.

  3. يمكنك جعل القسم المطلوب هو لطيف.


واحدة من الفوائد هي أنه يمكن تقديم عروض Razor داخل اختبارات الوحدة ، وهذا شيء لم يكن من الممكن بسهولة مع العارض ASP.Net السابق.

من إعلان ScottGu ، تم إدراج هذا كواحد من أهداف التصميم:

الوحدة القابلة للاختبار: سيعمل تطبيق محرك المشاهدة الجديد على دعم القدرة على اختبار عروض الاختبار (دون الحاجة إلى وحدة تحكم أو خادم ويب ، ويمكن استضافتها في أي مشروع اختبار وحدة - لا يتطلب مجال تطبيق خاص).





razor