Netacademia "Мой первый проект Web C#: курс для приложения для дела" Дополнительный код тур
General Dotnet Group на Facebook: Dotnet Sharks
+------------------------+
| Desktop számítógép |
| |
| +-------------+ |
+---------------+ | | Alkalmazás | |
| | | | | |
| Felhasználó | | +-------------+ |
| | | |
| | | |
+---------------+ | |
+------------------------+
Hagyományos Desktop/Mobil alkalmazásfejlesztés
+--------------------------+
| Szerver számítógép |
+------------------------+ | |
| Desktop számítógép | | |
| Mobil eszköz | Hálózati | |
| | kapcsolat | +----------------------+ |
+---------------+ | | | | | |
| | | +-------------+ +---------------> | | Szerver alkalmazás | |
| Felhasználó | | | Alkalmazás | | | | (WebSzerveren futó | |
| | | | (Böngésző) | | <---------------+ | app) | |
| | | +-------------+ | | | | |
+---------------+ | | ^ | +----------------------+ |
+------------------------+ | | |
| | ^ |
^ | | | |
| | | | |
| | | | |
| | +--------------------------+
| | |
+ + +
HTML HTTP MVC
Webes Alkalmazásfejlesztés
Поскольку рабочий процесс окружающей среды и развития является сложным для этих типов разработок, он вручную создается не вручную, а с помощью шаблона Studio Visula.
С мастером мы создаем веб -приложение ASP.NET MVC (.NET Framework), следующим образом:
Создайте новый проект: 
Выбор приложения MVC 
Если мы создадим HTML -файл в каталоге приложений, это по умолчанию наше приложение ASP.NET. То есть, если браузер запрашивает этот файл, сервер отправит его обратно:
Этот запрос (от браузера до сервера):
GET http://localhost:39399/SajatHtmlOldal.html
(Сервер в браузере) возвращает HTML -страницу (веб -сайт):
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " />
< title > Ez a saját html oldalunk címe </ title >
</ head >
< body >
Ez pedig a saját html oldalunk tartalma, ezt fogja a böngésző megmutatni.
</ body >
</ html >Он работает так же, открывая файл из браузера:
file:///D:/Repos/WebesTodoApp201806/TodoApp/TodoApp/SajatHtmlOldal.html
Это все еще отображает его так же.
Задача HTTP - описать запросы и формат ответов, если вы хотите запросить контент через сеть.
HTTP -запрос состоит из четырех частей
Мы заинтересованы в первых двух.
Метод: например, получить, отправить, поместить, удалить и т. Д. Подробности о Википедии
Также важно, чтобы протокол HTTP не обрабатывал условия, поэтому запросы полностью независимы.
Если вы не хотите отображать статические карты подряд, но:
Это хорошая задача, ASP.NET MVC для этого.
+-----------------+
| |
| Bevásárlólista |
| |
+-----------------+
| |
| Só |
| |
| Cukor |
| |
| Spagetti |
| |
| Marhahús |
| |
| Paradicsom |
| |
+-----------------+
В случае дисплея

ВОПРОС: Как запрос попадает в контроллер? Ответ: на основе заголовка запроса.
Например:
GET http://localhost:39399/Home/About
Здесь первая половина заголовка указывает на приложение:
http://localhost:39399
Вторая половина заголовка и метод значат что -то в приложении:
GET /Home/About
Это обязанность маршрутизации для обработки этого. В заголовке «/» является признаком разделения, то есть весь заголовок может быть разобрав на значимые части , которые могут обрабатываться применением .
Согласно соглашению ASP.NET MVC - первая часть этого заголовка адресована контроллеру (в примере: Home). Контроллер: контроллер - вторая часть - это действие , которое служит запросу. Действие: функция
Это может быть использовано для организации каждого запроса в функции и функции в управляющие единицы.
Важно, чтобы остальная часть заголовка, которая следует за первыми двумя единицами (контроллер/действие), содержала параметры запроса в той или иной форме.
Фреймворк ASP.NET MVC чрезвычайно сильно построена на конвенции по имени: имя каждого элемента играет решающую роль в работе приложения.
Есть два важных правила маршрутизации: - Если действие не указано, то это индекс . - Если контроллер не указан, то это дом/индекс
На основе просмотров:
Как правило, представления для контроллера находятся в папке Views нашего веб -приложения, сгруппированного на контроль, имя папки группировки совпадает с именем маршрутизации контроллера.
Например: виды HomeController находятся в папке «Просмотры».
И: имя каждого файла представления совпадает с действием контроллера имени, к которому они принадлежат.
Примечание. Это соглашение может быть нарушено: вы также можете выбрать конкретный представление для действия.
То есть представление о действии homecontroller.todolist () автоматически принадлежит: views home todolist.chtml
Вы можете использовать этот урок, чтобы написать код HTML.
Представление может определить тип модели данных, которая работает.
Crud: C Reate, R Ead, U Pdate, D Elet
Краткий экраны в качестве спецификации:
+------------------------------------------------+
| |
| +------------------+---------+--------+ |
| | elem 1 | módosít | töröl | |
| +-------------------------------------+ |
| | elem 2 | módosít | töröl | |
| +-------------------------------------+ |
| | elem 3 | módosít | töröl | <-----------------------------+--+ Műveletek kezdeményezésére
| +------------------+---------+--------+ | | szolgáló elemek, amivel
| | | | | a felhasználó kezdeményezni
| +-------------------------------------+ | | tudja az adott műveletet
| | | | | (link, gomb, stb.)
| +-------------------------------------+ | |
| | | | |
| +-------------------------------------+ | |
| | | | |
| +-------------------------------------+ | |
| | |
| | |
| | |
| +-----------------+ +----------+ | v
| | beviteli mező | | rögzítés | <---------------------------------+
| +-----------------+ +----------+ |
| |
| |
+------------------------------------------------+
Индекс является запросом на обзор контроллера, и отсюда он был назван в честь. То есть наше первоначальное обзорное представление, индексное действие, должно быть принято. Отсюда следует, что мы переименовали текущего.
<form></form> для этого - вам нужна <input /> , которое имеет имя ( <input name="valami megnevezés"/> ) - нужна кнопка (или <input type="submit" /> или <button></button> ) поля ввода в параметрах вызовов, so: http://localhost:39399/Todo/Create?Tennival%C3%B3=agaadfgafgadf 
Folyamat:
1. /Todo/Create paraméter nélkül feladja a Create nézetet
2. /Todo/Create paraméterrel rögzíti az adatot és átirányít az Index-re
Sajnos az adatok mindig inicializálódnak, azt még meg kell oldani.
De a legnagyobb elvi baj ezzel, hogy az adatok felküldése GET metódust használ, ami (mivel adatmódosítás történik) nem szabványos.
Helyette POST kell.
Чтобы сделать страницу ввода, доступную на странице индекса (ссылка: http: // localhost: 39399/todo/create) Концепция для относительного адреса может
Тестируемые данные, которые остаются между запросами
Ввод данных программирования с Post Данные поступают как параметр формы:

Amit a Model Binder segítségével ugyanúgy függvény paraméterként tudunk átvenni az Action definícióban:
GET: URL paraméter Model binding:név alapján egyeztet
+----------------------------------------------+ (Query string) +-----+
| Böngésző | ^ +---------------> | |
+----------------------------------------------+ | | | Alkalmazás
| | | | | +--------------+
| | | | | | |
| +------------------+ | | | | | |
| | Adat1=érték1 | | +-------> | | Adatok | |
| | | | | | +-----> | |
| +------------------+ | | | | |
| | Adat2=érték2 | | +-------> | | | |
| | | | | | | | |
| +------------------+ | | | | | |
| | | | | | |
| | | | | +--------------+
| | | | |
| | | POST: Form data | |
| | v-------------------------> | |
| | | |
| | | |
| | +-----+
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------+
Каким -то образом указания должны быть разделены при обслуживании данных/представления. То есть,
Теорема поля ввода индекса и вход программирования
Microsoft SQL Server установлен с Chocolatey, эти пакеты установлены:
cinst sql-server-express
cinst sql-server-management-studio
И для шоколадной установки, эта команда должна выполняться из командной строки администратора:
@"%SystemRoot%System32WindowsPowerShellv1.0powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin"
Для создания базы данных:
Изучение параметров ошибки на предмет одиночного
var item = db . TodoItems . FirstOrDefault ( x => x . Name . Contains ( "a" ) ) ;
if ( item == null )
{ // ha nincs ilyen elem
}
else
{ // ha megvan
} var item = db . TodoItems . SingleOrDefault ( x => x . Id == id ) ;
if ( item == null )
{ // ha nincs ilyen elem
}
else
{ // ha megvan
}найти разницу в
<input id="isDone" name="isDone" type="checkbox" value="true" >Последний генерирует это:
<input name="isDone" id="isDone" type="checkbox" value="true">
<input name="isDone" type="hidden" value="false">
Он работает только на флажке только для FormData, если он будет тика . Если нет, браузер просто не отправляет его . В этом случае (если нет тика), скрытое поле поступает из браузера, что является false , как если бы флажок не был отмечен. И если клеща есть, оба значения появятся , true и false , а модельбиндер выбирает первое на основе своего порядка true
+--------------------------------+ +---------------------------------+ +----------------------------------+
| | | | | |
| | | EntityFramework | | |
| Alkalmazás | | Code First | | Adatbázis |
| | | | | |
| | | | | +---------------+ |
| | | 1. A kód alapján kitalálja | | | TodoItems | |
| | | hogy hogy lenne jó | | | | |
| Adatok osztályba | | +-> adatbázisba írni az +-> | +------> | | TodoItem | |
| szervezve | | | adatokat | | | TodoItem | |
| (TodoItem) | | | | | | TodoItem | |
| | | | | | | ... | |
| +---> | +> | +-> | | | | |
| + | | | | | | |
| Adatelérési osztály | | | <-----------------+ | |
| (DbContext) | | 2. Ha pedig adatot akarok | | | | ^ | |
| DbSet<TodoItem> | | lekérdezni, akkor a Linq | v | | | | |
| TodoItems <-----------------+ felületen keresztül | <+ | +---------------+ |
| | | fogadja a kérést és | | ^ |
| | | SQL lekérdezéssé alakítja| | + |
| db.TodoItems.Single() +----------------> a visszakapott adatokat | +-------------> SELECT |
| | | pedig betölti a TodoItems| | Id, Name, Done |
| | | DbSet-be | | WHERE |
| | | | | Id == @id |
| | | | | |
+--------------------------------+ +---------------------------------+ +----------------------------------+
HTML и CSS Производите Бесплатный курс
Используя стили, HTML -описание языка позволяет вам ввести параметр style для всех участников HTML. В этом вы можете ввести настройки для окраски, форматирования и местоположения. Больше на странице W3Schools стоит посмотреть.
Используйте однородные стили для этого для CSS: стили отделены от HTML -кода, HTML - это контент, CSS - это определение формы. Вы можете подробно рассмотреть этот сайт.
Настройки CSS могут быть протестированы в браузерах, вызывая инструменты разработчика (F12).
Веб -пакет от графических художников Twitter и одного из его программистов, который способен отображать конкретный веб -сайт (автоматически адаптируется к разным размерам). Пакет доступен здесь, его исходный код находится на GitHub.
Одним из оснований начальной загрузки является система сетки.
Другим принципом является создание различных элементов отображения путем предоставления параметра class без каких -либо других знаний CSS и JavaScript. Список каждого компонента.
Шаги по созданию страницы HTML:
@ {
Layout = null ;
}<head></head> , а JavaScript используется в конце секции <body></body> . @Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
В кадре HTML вы пропустите два места:
@RenderBody() указывает ту часть, в которой представление определяется действием.<body></body> , оставляем это из этого @RenderSection ( "scripts" , required : false )К концу Javascrips будет загружено из вашего собственного пакета:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
Таким образом, обслуживание запроса: Действие выбирает представление, он выбирает макет, генерируйте контент -часть кода HTML на основе представления, генерируйте HTML -страницу на основе кода макета, а представление, сгенерированное представлением, расширяется на всю страницу.