Разработка сайта 101: Часть 8. Создание страницы удаления данных


16.01.2012

Итак, вы уже создавали управляемый список любимых фильмов, разрабатывали его, добавляли новые фильмыи отредактировали существующие фильмы в базе данных. Далее вы научитесь удалять записи из базы данных - это предпоследний шаг, а значит уже в следующем уроке мы завершим обучение по работе с WebMatrix!!!

Вы, возможно, слышали о термине CRUD применительно к разработке веб-приложений и к данным. Стандарты CRUD используются для Создания(Create), Получения(Retrieve), Обновления(Update), Удаления(Delete) данных. Всё это вы уже проделывали в WebMatrix.

Добавление удаляющей страницы

Для начала создайте новую страницу CSHTML и назовите ее DeleteMovie.cshtml.

Замените HTML-код на следующий:

<h1>Delete a movie</h1>

<p>Are you sure you want to delete the movie <strong>@Movie.Name ?</strong></p>

<form action="" method="post"> <input type="submit" value="Yes"/>

<input type="button" value="No" onclick="window.location = 'dataMovies.cshtml'" /></form>

Эта часть кода создает основную форму, содержащую 2 кнопки: одна инициирует POST HTTP (точно так же, как страница редактирования в предыдущей главе), другая перенаправляет пользователя к списку фильмов.

Для удаления элемента эта страница точно так же, как страница EditMovie.cshtml вызывет и передаст параметр, которым будет являться ID фильма. Перед вами отобразится сообщение - «Are you sure you want to delete the movie @Movie.Name?» Значение Movie.Name вставит сервер, но серверу необходимо сообщить, как получить это значение.

Чтобы сделать это, как и прежде, поместите соответсвующий Razor-код сверху страницы, чтобы задействовать входной параметр.

1: @{

2:

3: var id=Request["id"];

4:

5: var SQLSELECT = "SELECT * FROM Favorites where ID=@0";

6:

7: var db = Database.Open("Movies");

8:

9: var Movie = db.QuerySingle(SQLSELECT,id);

10:

11: var MovieName=Movie.Name;

12:

13: }

В этой части кода вы увидете, что параметр был передан странице в качестве «id» (с использованием DeleteMovie.cshtml?id=<whatever>), и он используется, чтобы найти определенный фильм. Запрос выполнен по отношению к базе данных, и соответствующая ему запись фильма была найдена. Теперь вы можете получить имя фильма, и найти фильм, когда страница будет отображена.

Попытайтесь выполнить DeleteMovie.cshtml?id=<something>, и на экране отобразится <something>, являющийся ID в вашей базе данных:

Создание удаляющей страницы данных

Если вы нажмете кнопку «No», то будете перенаправлены назад к странице dataMovies.cshtml. Если нажимаете «Yes», то ничего не произойдет, потому что вы ещё не создали код, который произведёт удаление.

Для удаления записи из базы данных, используйте команду SQL DELETE. Она имеет следующий синтаксис:

DELETE FROM <Table> WHERE <Field>=<Value>

Так, если бы мы хотели удалить фильм с id=2, то мы могли бы написать:

DELETE FROM Favorites WHERE ID=2

Когда пользователь нажмет кнопку «Yes», перед ним отобразится форма, и удаление не произойдет, но мы сможем легко сделать это следующим образом:

1: if(IsPost){

2:

3: var SQLDELETE = "DELETE FROM Favorites WHERE ID=@0";

4:

5: db.Execute(SQLDELETE,id);

6:

7: Response.Redirect("dataMovies.cshtml");

8:

9: }

Фильм удалится, и пользователь будет перенаправлен к странице со списком фильмов для просмотра результата.

Полный код для DeleteMovie.cshtml выглядит так:

1: @{

2:

3: var id=Request["id"];

4:

5: var SQLSELECT = "SELECT * FROM Favorites where ID=@0";

6:

7: var db = Database.Open("Movies");

8:

9: var Movie = db.QuerySingle(SQLSELECT,id);

10:

11: var MovieName=Movie.Name;

12:

13: if(IsPost){

14:

15: var SQLDELETE = "DELETE FROM Favorites WHERE ID=@0";

16:

17: db.Execute(SQLDELETE,id);

18:

19: Response.Redirect("dataMovies.cshtml");

20:

21: }

22:

23: }

24:

25: <h1>Delete a movie</h1>

26:

27: <p>Are you sure you want to delete the movie <strong>@Movie.Name ?</strong></p>

28:

29: <form action="" method="post">

30:

31: <p><input type="submit" value="Yes"/>

32:

33: <input type="button" value="No" onclick="window.location = 'dataMovies.cshtml'" /></p>

34:

35: <br/>

36:

37: </form>

Вызов удаляющей страницы из списка фильмов

Теперь, когда вы научились работать с удаляющей страницей, давайте соединим ее со страницей списка фильмов так, чтобы пользователь мог выбрать элемент из этого списка и удалить его.

На страницу списка фильмов мы просто должны добавить гиперссылку к каждой записи списка фильмов, где гиперссылка к странице DeleteMovie.cshtml передает идентификатор текущего фильма.

Полный код для dataMovies.cshtml выглядит так:

1: @{

2:

3: var db= Database.Open("Movies");

4:

5: var sqlQ = "SELECT * FROM Favorites";

6:

7: var data = db.Query(sqlQ);

8:

9: }

10:

11: <div id="movieslist">

12:

13: <ol>

14:

15: @foreach(var row in data){

16:

17: <li>

18:

19: <a href="EditMovie.cshtml?id=@row.id">@row.Name, @row.Genre, @row.ReleaseYear

20:

21: </a>

22:

23: <a href="DeleteMovie.cshtml?id=@row.id">Delete</a>

24:

25: </li>

26:

27: }

28:

29: </ol>

30:

31: <a href="AddMovie.cshtml">Add a new movie</a>

32:

33: </div>

Откройте эту страницу и увидите все возможные варианты для удаления:

Создание удаляющей страницы данных

Если вы теперь поставите удаляющую ссылку на каком-либо из этих фильмов, то перейдете к странице «Удаление фильма». До перехода на эту страницу перед вами отобразится сообщение: «Are you sure you want to delete the movie?».

Создание удаляющей страницы данных

Если вы нажмете «No», то будете возвращены к списку фильмов. Если нажмете «Yes», то будете возвращены к списку, и фильм удалится. Вот что будет, если нажмете «Yes»:

Создание удаляющей страницы данных

Заключение

Поздравляем! Вы создали полное приложение, которое имеет функциональность Создания(Create), Получения(Retrieve), Обновления(Update), Удаления(Delete) данных, и которое использует серверный код, чтобы динамически генерировать HTML. Не так страшен черт как его малюют!

Более подробную информацию о синтаксисе Razor, и о создании приложения с его помощью вы можете узнать здесь http://www.asp.net/webmatrix/fundamentals.

В следующем, заключительном шаге вы опубликуете свою работу в Интернет и увидете, как с помощью WebMatrix вы сможете сохранить свою разработку, а сервер выполнит синхронизацию!

И помните - я продемонстрировал прямые обращения к базе данных - это не всегда безопасный и эффективный метод работы с БД, если вы новичок. Используйте инструменты того фреймфорка или CMS, на котором работает ваш сайт, и только в случае отсутствия оного прибегайте к прямым запросам, но будьте крайне осторожны с ними!!!


16 января 2012

Задойный А.В.


Разработка сайта 101: Часть 8. Создание страницы удаления данных

<p style="text-align: justify; ">Итак, вы уже создавали управляемый список любимых фильмов, разрабатывали его, <a href="/information/razrabotka_sayta_101_chast_6_sozdanie_dobavlyayushchey_informatsionnoy_stranitsy/" >добавляли новые фильмы</a>и <a href="/information/razrabotka_sayta_101_chast_7_sozdanie_stranitsy_redaktirovaniya_dannykh/" >отредактировали существующие фильмы</a> в базе данных. Далее вы научитесь удалять записи из базы данных - это предпоследний шаг, а значит уже в следующем уроке мы завершим обучение по работе с WebMatrix!!!</p> <p>Вы, возможно, слышали о термине CRUD применительно к разработке веб-приложений и к данным. Стандарты CRUD используются для Создания(Create), Получения(Retrieve), Обновления(Update), Удаления(Delete) данных. Всё это вы уже проделывали в WebMatrix.</p> <h2>Добавление удаляющей страницы</h2> <p style="text-align: justify; ">Для начала создайте новую страницу CSHTML и назовите ее DeleteMovie.cshtml.</p> <p style="text-align: justify; ">Замените HTML-код на следующий:</p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); ">&lt;h1&gt;Delete a movie&lt;/h1&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); ">&lt;p&gt;Are you sure you want to delete the movie &lt;strong&gt;@Movie.Name ?&lt;/strong&gt;&lt;/p&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); ">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt; &lt;input type=&quot;submit&quot; value=&quot;Yes&quot;/&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> &lt;input type=&quot;button&quot; value=&quot;No&quot; onclick=&quot;window.location = 'dataMovies.cshtml'&quot; /&gt;&lt;/form&gt; </span></p> <p style="text-align: justify; ">Эта часть кода создает основную форму, содержащую 2 кнопки: одна инициирует POST HTTP (точно так же, как страница редактирования в предыдущей главе), другая перенаправляет пользователя к списку фильмов.</p> <p style="text-align: justify; ">Для удаления элемента эта страница точно так же, как страница EditMovie.cshtml вызывет и передаст параметр, которым будет являться ID фильма. Перед вами отобразится сообщение - «Are you sure you want to delete the movie @Movie.Name?» Значение Movie.Name вставит сервер, но серверу необходимо сообщить, как получить это значение.</p> <p style="text-align: justify; ">Чтобы сделать это, как и прежде, поместите соответсвующий Razor-код сверху страницы, чтобы задействовать входной параметр.</p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 1: @{ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 2: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 3: var id=Request[&quot;id&quot;]; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 4: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 5: var SQLSELECT = &quot;SELECT * FROM Favorites where ID=@0&quot;; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 6: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 7: var db = Database.Open(&quot;Movies&quot;); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 8: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 9: var Movie = db.QuerySingle(SQLSELECT,id); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 10: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 11: var MovieName=Movie.Name; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 12: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 13: }</span></p> <p style="text-align: justify; ">В этой части кода вы увидете, что параметр был передан странице в качестве «id» (с использованием DeleteMovie.cshtml?id=&lt;whatever&gt;), и он используется, чтобы найти определенный фильм. Запрос выполнен по отношению к базе данных, и соответствующая ему запись фильма была найдена. Теперь вы можете получить имя фильма, и найти фильм, когда страница будет отображена.</p> <p style="text-align: justify; ">Попытайтесь выполнить DeleteMovie.cshtml?id=&lt;something&gt;, и на экране отобразится &lt;something&gt;, являющийся ID в вашей базе данных:</p> <p><img src="/upload/medialibrary/7d4/7d4d2e17395a424db7d416de075a00ae.PNG" title="Создание удаляющей страницы данных" hspace="5" vspace="5" border="0" alt="Создание удаляющей страницы данных" width="700" height="386" /></p> <p style="text-align: justify; ">Если вы нажмете кнопку «No», то будете перенаправлены назад к странице dataMovies.cshtml. Если нажимаете «Yes», то ничего не произойдет, потому что вы ещё не создали код, который произведёт удаление.</p> <p style="text-align: justify; ">Для удаления записи из базы данных, используйте команду SQL DELETE. Она имеет следующий синтаксис: </p> <p style="text-align: center; "><span style="background-color: rgb(215, 215, 215); ">DELETE FROM &lt;Table&gt; WHERE &lt;Field&gt;=&lt;Value&gt; </span></p> <p style="text-align: justify; ">Так, если бы мы хотели удалить фильм с id=2, то мы могли бы написать:</p> <p style="text-align: center; "><span style="background-color: rgb(215, 215, 215); ">DELETE FROM Favorites WHERE ID=2 </span></p> <p style="text-align: justify; ">Когда пользователь нажмет кнопку «Yes», перед ним отобразится форма, и удаление не произойдет, но мы сможем легко сделать это следующим образом:</p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 1: if(IsPost){ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 2: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 3: var SQLDELETE = &quot;DELETE FROM Favorites WHERE ID=@0&quot;; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 4: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 5: db.Execute(SQLDELETE,id); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 6: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 7: Response.Redirect(&quot;dataMovies.cshtml&quot;); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 8: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 9: }</span></p> <p style="text-align: justify; ">Фильм удалится, и пользователь будет перенаправлен к странице со списком фильмов для просмотра результата.</p> <p style="text-align: justify; ">Полный код для DeleteMovie.cshtml выглядит так:</p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 1: @{ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 2: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 3: var id=Request[&quot;id&quot;]; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 4: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 5: var SQLSELECT = &quot;SELECT * FROM Favorites where ID=@0&quot;; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 6: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 7: var db = Database.Open(&quot;Movies&quot;); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 8: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 9: var Movie = db.QuerySingle(SQLSELECT,id); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 10: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 11: var MovieName=Movie.Name; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 12: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 13: if(IsPost){ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 14: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 15: var SQLDELETE = &quot;DELETE FROM Favorites WHERE ID=@0&quot;; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 16: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 17: db.Execute(SQLDELETE,id); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 18: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 19: Response.Redirect(&quot;dataMovies.cshtml&quot;); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 20: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 21: } </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 22: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 23: } </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 24: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 25: &lt;h1&gt;Delete a movie&lt;/h1&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 26: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 27: &lt;p&gt;Are you sure you want to delete the movie &lt;strong&gt;@Movie.Name ?&lt;/strong&gt;&lt;/p&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 28: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 29: &lt;form action=&quot;&quot; method=&quot;post&quot;&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 30: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 31: &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Yes&quot;/&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 32: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 33: &lt;input type=&quot;button&quot; value=&quot;No&quot; onclick=&quot;window.location = 'dataMovies.cshtml'&quot; /&gt;&lt;/p&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 34: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 35: &lt;br/&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 36: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 37: &lt;/form&gt;</span></p> <h2 style="text-align: center; ">Вызов удаляющей страницы из списка фильмов</h2> <p style="text-align: justify; ">Теперь, когда вы научились работать с удаляющей страницей, давайте соединим ее со страницей списка фильмов так, чтобы пользователь мог выбрать элемент из этого списка и удалить его.</p> <p style="text-align: justify; ">На страницу списка фильмов мы просто должны добавить гиперссылку к каждой записи списка фильмов, где гиперссылка к странице DeleteMovie.cshtml передает идентификатор текущего фильма.</p> <p style="text-align: justify; ">Полный код для dataMovies.cshtml выглядит так:</p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 1: @{ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 2: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 3: var db= Database.Open(&quot;Movies&quot;); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 4: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 5: var sqlQ = &quot;SELECT * FROM Favorites&quot;; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 6: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 7: var data = db.Query(sqlQ); </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 8: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 9: } </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 10: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 11: &lt;div id=&quot;movieslist&quot;&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 12: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 13: &lt;ol&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 14: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 15: @foreach(var row in data){ </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 16: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 17: &lt;li&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 18: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 19: &lt;a href=&quot;EditMovie.cshtml?id=@row.id&quot;&gt;@row.Name, @row.Genre, @row.ReleaseYear </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 20: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 21: &lt;/a&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 22: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 23: &lt;a href=&quot;DeleteMovie.cshtml?id=@row.id&quot;&gt;Delete&lt;/a&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 24: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 25: &lt;/li&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 26: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 27: } </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 28: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 29: &lt;/ol&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 30: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 31: &lt;a href=&quot;AddMovie.cshtml&quot;&gt;Add a new movie&lt;/a&gt; </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 32: </span></p> <p style="text-align: justify; "><span style="background-color: rgb(225, 225, 225); "> 33: &lt;/div&gt;</span></p> <p>Откройте эту страницу и увидите все возможные варианты для удаления:</p> <p><img src="/upload/medialibrary/30b/30b58d60e80e79b327a089e4acb9eeb7.PNG" title="Создание удаляющей страницы данных" hspace="5" vspace="5" border="0" alt="Создание удаляющей страницы данных" width="700" height="472" /></p> <p style="text-align: justify; ">Если вы теперь поставите удаляющую ссылку на каком-либо из этих фильмов, то перейдете к странице «Удаление фильма». До перехода на эту страницу перед вами отобразится сообщение: «Are you sure you want to delete the movie?».</p> <p><img src="/upload/medialibrary/b2f/b2f4acb54ef0c0a12e9244c27ac937d0.PNG" title="Создание удаляющей страницы данных" hspace="5" vspace="5" border="0" alt="Создание удаляющей страницы данных" width="700" height="472" /></p> <p style="text-align: justify; ">Если вы нажмете «No», то будете возвращены к списку фильмов. Если нажмете «Yes», то будете возвращены к списку, и фильм удалится. Вот что будет, если нажмете «Yes»:</p> <p><img src="/upload/medialibrary/246/246bb59db845453e312436cbffadbb89.PNG" title="Создание удаляющей страницы данных" hspace="5" vspace="5" border="0" alt="Создание удаляющей страницы данных" width="700" height="472" /></p> <h2 style="text-align: center; ">Заключение</h2> <p style="text-align: justify; ">Поздравляем! Вы создали полное приложение, которое имеет функциональность Создания(Create), Получения(Retrieve), Обновления(Update), Удаления(Delete) данных, и которое использует серверный код, чтобы динамически генерировать HTML. Не так страшен черт как его малюют!</p> <p style="text-align: justify; ">Более подробную информацию о синтаксисе Razor, и о создании приложения с его помощью вы можете узнать здесь <noindex><a href="http://www.asp.net/webmatrix/fundamentals" rel="nofollow" >http://www.asp.net/webmatrix/fundamentals</a></noindex>.</p> <p style="text-align: justify; ">В следующем, заключительном шаге вы опубликуете свою работу в Интернет и увидете, как с помощью WebMatrix вы сможете сохранить свою разработку, а сервер выполнит синхронизацию!</p> <p style="text-align: justify; "><font color="#00a650">И помните - я продемонстрировал прямые обращения к базе данных - это не всегда безопасный и эффективный метод работы с БД, если вы новичок. Используйте инструменты того фреймфорка или CMS, на котором работает ваш сайт, и только в случае отсутствия оного прибегайте к прямым запросам, но <b>будьте крайне осторожны с ними</b>!!!</font></p> <p> <br /> </p> <p style="text-align: right; ">16 января 2012</p> <p style="text-align: right; ">Задойный А.В.</p>

Возврат к списку

Яндекс.Метрика