Oddiy ko'rinishlar Internetda MVC dizayn namunasidan foydalanishda ko'rishlar aniq rol o'ynaydi. Ular foydalanuvchiga modelni taqdim etadilar. Biroq, bu kontekstda "hozir" nimani anglatadi? Taqdimot HTML, JavaScript, CSS, JSON, XML va server tomoni kodining katta dozasini o'z ichiga olishi mumkin. Ko'rishlar ko'plab taqdimot usullari bilan murakkab bo'lish xavfini tug'diradi. Sizning vazifangiz ko'rinishlarni iloji boricha sodda saqlashdir - nafaqat ko'rinishni saqlab qolish osonroq bo'lgani uchun, balki uni sinab ko'rish eng qiyin komponent bo'lgani uchun ham. Ko'rinishdagi eng katta murakkablik xavflaridan biri uni "yorliqli sho'rva" ga aylantirishdir.
"Tag sho'rva" - bu HTML uchun dasturchining atamasi bo'lib, dasturchi uchun o'qish va saqlash qiyin va, ehtimol, veb-brauzerni tahlil qilish qiyin. Siz manba kodiga qaraysiz va u sho'rvaga o'xshaydi - oshpaz barcha ingredientlarni aralashtirib, o'qib bo'lmaydigan bulon dengiziga aylantirdi.
Teg sho'rvasidan qochish, veb-shakl ko'rinishidagi HTML yaxshi shakllangan va yaxshi formatlanganligiga ishonch hosil qilish kabi oson bo'lishi mumkin. Bu ikkala bosqichga Microsoft Visual Studio dasturida erishish oson, bu noto‘g‘ri tuzilgan HTMLni ta’kidlaydi va sizga HTMLni formatlash imkoniyatini beradi (Ctrl K + Ctrl + D butun hujjatni formatlash uchun yorliq). Biroq, quyidagi kodda ko'rsatilgandek, veb-shakl ko'rinishida qo'shimcha qiyinchiliklar mavjud.
Bu kod HTML, C#, JavaScript va string literallarining yomon birikmasidir. Biroq, bunday kodni oldini olish uchun biz amal qilishimiz mumkin bo'lgan bir nechta ko'rsatmalar mavjud.
HTML yordamchilari
HTML yordamchilari - bu HTML yaratishni inkapsulyatsiya qilish va ba'zi oddiy taqdimot mantig'ini yashirish uchun ko'rinish ichida foydalanishingiz mumkin bo'lgan kengaytma usullari. Yuqoridagi kodda bizda ko'rinishni murakkablashtiradigan IF sharti mavjud. Bizda, shuningdek, atributlar ichiga server tomoni kodini kiritish bilan murakkab bo'lgan tasvir teglari mavjud. Microsoft-dan Rob Koneri o'zining "ASP.NET MVC: Tag sho'rvasidan qochish" postida tushuntirgan qoidaga amal qiladi. Uning qoidasi: "Agar IF bo'lsa, yordamchini yarating". Keyin u sahifalangan elementlar ro'yxatida harakatlanish uchun havolalarni ko'rsatadigan peyjer uchun yaratish uchun HTML yordamchisining amalga oshirilishini ko'rsatishni davom ettiradi.
HTML yordamchilari, shuningdek, server tomonidagi kod va HTMLning yomon aralashishini oldini olishga yordam beradi. Yaxshiyamki, MVC ramkasi bir qator yordamchilarni o'z ichiga oladi. Siz ulardan ko'proq narsani MVC Futures loyihasida va MVC Contrib loyihasida topishingiz mumkin . Ushbu kutubxonalarda mavjud yordamchilarni ko'rish uchun ikkalasini ham yuklab olganingizga ishonch hosil qiling . Ulardan ba'zilari kuchli terilgan modellar bilan ishlash uchun maxsus ishlab chiqilgan, bu bizning keyingi mavzuimiz.
Ko'rinishlarni ikkita toifadan biriga qo'yishingiz mumkin: ViewData lug'atidan foydalanadiganlar va kuchli yozishdan foydalanadiganlar. ViewData lug'atidan foydalanadigan ko'rinishlar System.Web.Mvc.ViewPage dan olingan. Bizning teg sho'rva misolimiz ushbu yondashuvdan foydalanadi. Qattiq yozilgan ko'rish sahifalari System.Web.Mvc.ViewPage dan kelib chiqadi, bu erda T model turini belgilash uchun umumiy parametrdir. Men sizga kuchli yozishni tavsiya qilaman.
Kuchli yozish sizning ko'rinishingiz siz kutgan model turini aniq bilishini anglatadi. ViewData lug'atidan ma'lum bir ma'lumotni olish uchun zarur bo'lgan sehrli qatorni taxmin qilishingiz shart emas. Buning o'rniga siz Model.Username kabi koddan foydalanishingiz mumkin va IntelliSense sizga ma'lumotlarni qidirishda yordam beradi. Bundan tashqari, aspnet_compiler dasturini ishga tushirish orqali siz modelga kirishda yo'l qo'ygan xatolaringizni aniqlashingiz mumkin. MVC loyihasiga yangi ko'rinish qo'shsangiz, ko'rinish qo'shish ustasi kuchli terilgan modelni tanlashni osonlashtiradi, shuning uchun sozlashda muammolar bo'lmasligi kerak. Umuman olganda, sehrli satr harflarini olib tashlash va kuchli kiritilgan ko'rinishlarga tayanish uzoq muddatda dasturiy ta'minotingizni saqlab qolishga yordam berishini bilib olasiz.
Ko'zga tashlanmaydigan JavaScript
Biz bilamizki, CSS va HTML ko‘rinish tuzilishini brauzerdagi ko‘rinishning vizual taqdimotidan ajratish uchun birgalikda ishlashi mumkin. Men sizni CSS-ni ushbu ajratishni saqlab qolish uchun vosita sifatida ishlatishingizni tavsiya qilaman. Biroq, zamonaviy veb-sahifalar uchta asosiy muammoga ega: tuzilish, taqdimot va xatti-harakatlar. JavaScript bu xatti-harakatni amalga oshiradi. Sizning fikringizga JavaScript-ni qo'shish, uslub ma'lumotlari va server tomonidagi kodlarning haddan tashqari miqdorini qo'shish kabi buzishi mumkin. JavaScript xatti-harakatlariga boy sahifalar tuzilmani xatti-harakatlardan ajratishni talab qiladi, shuning uchun siz mustaqil ravishda qismlarga e'tibor qaratishingiz mumkin.
Ko'zga tashlanmaydigan JavaScript - bu JavaScript-ning barcha belgilarini ko'rinishdan olib tashlash va kerakli JavaScript-ni tashqi .js fayliga joylashtirish amaliyotidir. Ko'zga tashlanmaydigan JavaScript sizda ko'rinishda belgilangan JavaScript funksiyalari yo'qligini va HTML-dagi JavaScript kodini o'z ichiga olgan bosish atributlariga ega emasligini anglatadi. JQuery va Microsoft-ning ASP.NET AJAX kutubxonalari kabi kutubxonalar sahifaga kirishni va voqealaringizni tashqaridan ulashni osonlashtiradi. Tashqi .js faylini koʻrish xatti-harakatlaringizga kiritish uchun koʻrinishingizga tegini qoʻshish kifoya.
Misol tariqasida, quyidagi jQuery kodi mijozda "loginImage" identifikatoriga ega elementni bosish hodisasini JavaScript funksiyasiga "login" nomi bilan ulash uchun ko'rinish berilgandan so'ng ishga tushadi. Bosish atributi shart emas!
Nusxalash
$( funksiya( ) { $("#loginImage").bosing(kirish);}
Qisman ko'rishlar
Ko'rinishlarning murakkabligini boshqarish uchun foydalanishingiz mumkin bo'lgan yana bir usul qisman ko'rinishdir. Veb shakllarini ko'rish tizimidagi qisman ko'rinishlar .ascx kengaytmali foydalanuvchi boshqaruv fayllari . Xuddi ASP.NET veb-shakllarida bo'lgani kabi, biz HTML va kodni qamrab olish uchun qisman ko'rinishlardan foydalanishimiz mumkin, biz ularni bir nechta ko'rinishlarda (masalan, kirish displeyi) qayta ishlatishimiz mumkin. Murakkab ko'rinishni kichikroq bo'laklarga bo'lish uchun qisman ham foydalanishimiz mumkin.
System.Web.Mvc.ViewUserControl dan kelib chiqib, qisman ko'rinishlarni qattiq yozishimiz mumkin. MVC ilovasida yangi ko'rinish qo'shish ustasi ko'rinish va qisman ko'rinish o'rtasida tanlash uchun katakchani tanlash imkonini beradi, shuningdek, kuchli terilgan modelni tanlash imkonini beradi ( 2-rasmga qarang). Qisman ko'rinishdan foydalanishni osonlashtirish uchun ramkada HTML yordamchisi ham mavjud (RenderPartial):
Nusxalash
<% Html.RenderPartial( "_LoginStatus"); %> Ko‘rishlar va Mantiq