MVC история на една от проекта - готов за излитане - (част 1)

историческа информация

В древни времена, когато NET рамката е в началото си, и аз написах кода само на Pascal'e. Хм. Изглежда толкова много дълги завои, така че ще опрости схемата за описание. Когато сайтът започна www.calabonga.com беше лесно да се грозота. С течение на времето, той е трябвало да се използва като опитно поле за прилагане на идеи, приложими към други сайтове са изработени по поръчка. След като прекарва няколко години, сайтът с чувство за хумор се превърна в кошчето (доскоро украсена името и длъжността). Време е да се трансформират на сайта, и да използват иновации в развитието на уеб, и по-специално ASP.NET MVC. Ще използвам ASP.NET 3, защото аз не искам да общуват с ASP.NET 4 Beta в сила отново в параметър бета версия. Нека просто кажем, че проектът, който работи по време на работа, твърде много недостатъци и дефекти в тази версия.

инструменти

Така че, тъй като аз отидох да говоря за inspolzuemye инструменти, избройте ги:

Бих искала да отбележа, че този списък е до завършване на проекта няма да се промени веднъж. Всички останали ще свърши курса.

Създаване на нов проект, наречен Calabonga.Mvc.Humor в MVC параметри са избрани Internet Application и Razor двигател.

MVC история на една от проекта - готов за излитане - (част 1)

Аз тичам. Съставител. Тя работи. Красота.

Избор на JQuery UI

Избрах цветовата схема на сайта www.jqueryui.com направи по-лесно да се управлява в бъдещия проект. Аз избрах тази цветова схема:

MVC история на една от проекта - готов за излитане - (част 1)

Аз го свържете по-късно, когато е необходимо.

Що се отнася до вас свеж, другарю?

Преди да започнете да се развива класове за новия си сайт, за да бъде обновен, първата актуализация на всички nuget опаковки. За тази цел, в панел nuget-мениджър ще дам команда:

изпълнение актуализация команда може да се види в дневника за конзолата:

Сега малко полезни комунални услуги

Ще добавя няколко пакети. Един пакет се нарича MvcTools. второ - PagerListExt. Инсталирам:

Какъв вид на опаковките, както и това, което правят, ще се опитам да опиша подробно в процеса на разработване на темпото сайт "Музей за хумор." Така че, след ъпгрейд и инсталиране на допълнителни пакети nuget-ми структурирам проекти е както следва:

MVC история на една от проекта - готов за излитане - (част 1)

Ние постави нещата в ред. За да направите това, отстранете стария файл _Layout.cshtml шаблона. и нов регистрирайте, за да използвате _ViewStart.cshtml на файла по подразбиране:

Преди започване на проект за съставяне, е необходимо да се подаде _LayoutExtended.cshtml правилната версия на скриптове и Cascading Style файлове в съответствие с актуализациите, получени в резултат на актуализация Пакет команда. Аз по време на това писание, версия е, както следва:

Обърнете внимание на реда с код, който се свързва сценария от JQuery UI--1.8.19.custom.min.js (JQuery UI) на, трябва да се добави към файла на проекта за този скрипт. И каскадата от стилове, също в папка / съдържание / тема. Както споменах, аз ще се изработи по-късно, и скриптове и с CSS файлове все пак трябва да се добавят към проекта - няма да си пречат. Пускам проекта. Начало изглежда - това е добре! Аз кликнете върху Регистриране - получите съобщение за грешка, че JQuery не е намерен. За щастие, аз знам защо се е случило и защо ти кажа. Необходимо е да се приключи на страница (Виж) Login.cshtml скриптове в специален маркер, който се появи след MvcTools за инсталиране.

Как и защо е било направено, можете да прегледате HTML-код sgenerirumom след площадката за излитане. Сега, всички скриптове са поставени след основния HTML точно преди затварящия маркер . Това означава, че скриптовете не започват изпълнението му пред документ (DOM) се зарежда. Повече за това в една статия по този въпрос (ако някой се интересува).

Poco класове или където и същ модел?

Ако ние говорим за Кодекс На първо място, че "първият код" вече означава, че ние трябва да започнем да мислим за моделите (класове), които ще бъдат използвани в заявлението. Пиша сайт, който се нарича "Музей за хумор", откъдето идва и името на класа:

И още няколко в излагаме в класната стая:

Сега малко атрибути на имотите и ще бъде готова първата версия на модела на базата данни. Към това трябва да се добави към списъка на пространство от имена System.ComponentModel.DataAnnotations използва. Това е сега гледам класове:

Всичко в името на данни

Това е време, за да се свърже с базата данни. Първо, малко обясня. Факт е, че аз имам на етапа на проектиране ще има две връзки към базата данни. Това е две в низ web.config връзка е уточнено. Първата е да се работи с потребителска база, а вторият - е злоупотребата с класовете на модела. Това повдига въпроса - "Защо?" Дори и като се вземе предвид факта, че в EntityFramework версия 4.3 ще има такова прекрасно нещо като миграциите. Винаги идва момент, в процеса на развитие, когато базата данни е по-лесно да се отстрани, отколкото да го напиша за миграция. Така че, за да не бъде премахнат от потребителя, ще запази модела и потребителите в различни бази данни.

Създаване на база данни на потребителя. Отворете Microsoft SQL Mamagment Studio и създаване на нова база данни. Името на това - музей.

MVC история на една от проекта - готов за излитане - (част 1)

Готово! Сега е необходимо да се инициализира таблиците ASP.NET членство в новосъздадената база данни. В набор от Net Framework възли имат много полезни услуги. Един aspnet_regsql.exe. Имам тази програма е в папката:

Имайте предвид, че папка Framework64 казва 64-razradnoy система, ако имате 32-битова версия на Windows, числата не ще бъде в името на папката с Framework'om.

Стартирайте инструмента. Вижте поле, щракнете Next. Ние влезете в страницата за избор на действие: "добави" или "изтриване". Трябва, разбира се, да се добави. Натиснете Next.

MVC история на една от проекта - готов за излитане - (част 1)

Сега избора на името на SQL сървър и база данни.

MVC история на една от проекта - готов за излитане - (част 1)

Натиснете Next и Finish. И преди да започнете да добавяте потребител, трябва да посочите във връзка низ web.config файл с базата данни. Моята връзка низ vygyadit, както следва:

Сега има една база е необходимо да се хвърли малко потребители битови. Връщаме се в студиото и да започне сайт конфигуратор (уеб сайт Инструмент администрация).

MVC история на една от проекта - готов за излитане - (част 1)

След това отидете на раздела "Сигурност" и да добавите един и същи потребител. Вероятно няма да го повярвам, но аз ще ви се добави.

MVC история на една от проекта - готов за излитане - (част 1)

Моля, имайте предвид, че при хората момент са 0. Това показва, че връзката на базата данни е вярна.

MVC история на една от проекта - готов за излитане - (част 1)

На следващо място, точка по точка:

1. Включете ролята на сайта.

2. Добавете една роля "Администратор".

3. Създаване на потребител, не забравяйте да посочите чавка "Администратор" право.

4. Потърсете в размер на добавената - в момента има един потребител с администраторски права.

Резултатите от тази статия

В момента има почти всичко, готова да започне развитие на сайта. В момента има:

  • Шаблон (макар стандарт)
  • Потребителят база (макар и само един)
  • Установена е връзка с ролята на обекта (да, отново, само един)
  • модел Основно данни (което е много по-различен добавени по-късно)
  • Utility скриптове са готови за разпространение (включително т.нар UserControl)
  • Обновено всички са включени в рамките на страна по проекта.

>> Особено, ако това е развитието на колективното (сървър Фондация Team).

>> Повярвайте ми, това е много лесно, особено в началото на развитие.

но около масата за спад чувал? и ние чухме за чуждестранните клавиши на потребителя? и как да ги направиш различни, ако основата - и като цяло може да се управлява zasrat (извинете за израза - другият не е подходящ) рамка, която да е по-лесно да се отстрани от основата на масата? (Или премахване на данни в таблицата - твърде лесно да изтриете от tablename)

Съгласен съм с факта, че споделят данни за базата данни на 2-ро - неразумно решение, не разполага с нормално мислене.

Calabonga, в Еспозито, към която се отнасят, ако не греша, това е много добре боядисани точно това, което се осъществява в MVC ASP .NET MVC. Необходимо е да се разграничи от оригиналния Патерна на MVC, който бе хвърлен в затвора за интерактивни системи, а не уеб приложения.