Table of Contents
Delete a movie
Home Web Front-end CSS Tutorial WebMatrix Advanced Tutorial (8): Creating a Data Deletion Web Page

WebMatrix Advanced Tutorial (8): Creating a Data Deletion Web Page

Dec 26, 2016 pm 05:05 PM

So far, you have created a data-driven list of favorite movies, styled it, and added the ability to add new movies to the database and edit existing movies. The next step in the process of creating this application is to provide users with the ability to delete records from the database.

Introduction: Microsoft WebMatrix is ​​a free tool that can be used to create, customize, and publish websites on the Internet.

WebMatrix enables you to create websites easily. You can start with an open source application (such as WordPress, Joomla, DotNetNuke or Orchard) and WebMatrix handles the task of downloading, installing and configuring the application for you. Or you can write the code yourself using the many built-in templates that will help you get started quickly. Whatever you choose, WebMatrix provides everything your website needs to run, including web servers, databases, and frameworks. By using the same stack on your development desktop that you would use on your web host, the process of bringing your website online is easy and smooth.
You can download it from http://web.ms/webmatrix.
Now you can learn to use WebMatrix, CSS, HTML, HTML5, ASP.NET, SQL, databases, and how to write simple web applications in just a few hours. It reads as follows:
When it comes to web application development and data, you may have heard the term CRUD. CRUD stands for Create, Retrieve, Update and Delete, which summarizes exactly what you do with WebMatrix.

Add Delete Web Pages

First, Create a new CSHTML web page and name it DeleteMovie.cshtml

Replace the HTML in it with the following:

<h1 id="Delete-nbsp-a-nbsp-movie">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>
Copy after login

This code creates a basic form with 2 buttons. , the submit button triggers an HTTP POST (just like the edit webpage in the previous section), and another button redirects you back to the movie list when clicked

Just like the EditMovie.cshtml webpage, this webpage will. is called and passed a parameter which is the ID of the movie to be deleted. In the text "Are you sure you want to delete the movie @Movie.Name?" the value of Movie.Name will be inserted by the server. Tell the server how to get this value: To do this, as before, add some Razor code at the top of the webpage to get the input parameters

@{  
var id=Request["id"];  
var SQLSELECT = "SELECT * FROM Favorites where ID=@0";  
var db = Database.Open("Movies");  
var Movie = db.QuerySingle(SQLSELECT,id);  
var MovieName=Movie.Name;  
}
Copy after login

Here you can see that the parameter is passed to the webpage as an "id" (using DeleteMovie.cshtml?id=), this id is used to find a specific movie. Perform a query to the database and get the record for that movie and render it when you render the page. &*

Run DeleteMovie.cshtml?id= and you will see this screen, assuming is a valid ID in the database:

WebMatrix Advanced Tutorial (8): Creating a Data Deletion Web Page

If you click the "No" button, you will be redirected back to the dataMovies.cshtml web page. If you click "Yes", nothing will happen because no code has been written to handle the deletion.

To delete records from the database, use the DELETE SQL command. This can be done using the following syntax DELETE FROM WHERE =, so if you want to delete the movie with id=2, you can write:

DELETE FROM Favorites WHERE ID=2, when the user clicks the "Yes" button, the form will be submitted and the delete operation will occur, we can perform this task on postback as follows: This will delete movie, redirecting us back to the list web page so we see it gone

Here is the full code for DeleteMovie.cshtml:

@{  
  var id=Request["id"];  
  var SQLSELECT = "SELECT * FROM Favorites where ID=@0";  
  var db = Database.Open("Movies");  
  var Movie = db.QuerySingle(SQLSELECT,id);  
  var MovieName=Movie.Name;  
  if(IsPost)  
      {  
      var SQLDELETE = "DELETE FROM Favorites WHERE ID=@0";  
      db.Execute(SQLDELETE,id);  
      Response.Redirect("dataMovies.cshtml");  
      }  
  }  
     
  <h1 id="Delete-nbsp-a-nbsp-movie">Delete a movie</h1>  
  <p>Are you sure you want to delete the movie <strong>@Movie.Name ?</strong></p>  
  <form action="" method="post">  
  <p><input type="submit" value="Yes"/>  
  <input type="button" value="No" onclick="window.location = &#39;dataMovies.cshtml&#39;" /></p>  
  <br/>  
  </form>
Copy after login

Call delete web page from movie list

Now that we have a working removal web page, we connect it to the movie list web page so that the user can remove an item from that list and request its removal.

On the movie list page, just add a hyperlink to each list item, where the hyperlink links to the DeleteMovie.cshtml page, passing it the id of the current movie.

Here is the complete code for dataMovies.cshtml:

 @{   
 var db= Database.Open("Movies");   
 var sqlQ = "SELECT * FROM Favorites";    
 var data = db.Query(sqlQ);    
 }   
<div id="movieslist">   
<ol>    
@foreach(var row in data){    
<li>   
<a href="@row.Name>EditMovie.cshtml?id=@row.id">@row.Name, @row.Genre, @row.ReleaseYear    
</a>    
<a href="DeleteMovie.cshtml?id=@row.id">Delete</a>  
</li>  
}  
</ol>  
<a href="AddMovie.cshtml">Add a new movie</a>  
</div>
Copy after login
Run this page and see the removal workflow. First of all, this is the new dataMovies.cshtml:

WebMatrix Advanced Tutorial (8): Creating a Data Deletion Web Page

The above is the WebMatrix advanced tutorial (8): Creating and deleting the content of data web pages. For more related content, please pay attention to PHP Chinese Net (www.php.cn)!



Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

It&#039;s out! Congrats to the Vue team for getting it done, I know it was a massive effort and a long time coming. All new docs, as well.

Building an Ethereum app using Redwood.js and Fauna Building an Ethereum app using Redwood.js and Fauna Mar 28, 2025 am 09:18 AM

With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum

Can you get valid CSS property values from the browser? Can you get valid CSS property values from the browser? Apr 02, 2025 pm 06:17 PM

I had someone write in with this very legit question. Lea just blogged about how you can get valid CSS properties themselves from the browser. That&#039;s like this.

A bit on ci/cd A bit on ci/cd Apr 02, 2025 pm 06:21 PM

I&#039;d say "website" fits better than "mobile app" but I like this framing from Max Lynch:

Stacked Cards with Sticky Positioning and a Dash of Sass Stacked Cards with Sticky Positioning and a Dash of Sass Apr 03, 2025 am 10:30 AM

The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

Using Markdown and Localization in the WordPress Block Editor Using Markdown and Localization in the WordPress Block Editor Apr 02, 2025 am 04:27 AM

If we need to show documentation to the user directly in the WordPress editor, what is the best way to do it?

Comparing Browsers for Responsive Design Comparing Browsers for Responsive Design Apr 02, 2025 pm 06:25 PM

There are a number of these desktop apps where the goal is showing your site at different dimensions all at the same time. So you can, for example, be writing

Why are the purple slashed areas in the Flex layout mistakenly considered 'overflow space'? Why are the purple slashed areas in the Flex layout mistakenly considered 'overflow space'? Apr 05, 2025 pm 05:51 PM

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...

See all articles