지금까지 좋아하는 영화의 데이터 기반 목록을 만들고 스타일을 지정했으며 데이터베이스에 새 영화를 추가하고 기존 영화를 편집하는 기능을 추가했습니다. 이 애플리케이션을 만드는 과정의 다음 단계는 사용자에게 데이터베이스에서 레코드를 삭제할 수 있는 기능을 제공하는 것입니다.
소개: Microsoft WebMatrix는 인터넷에서 웹 사이트를 생성, 사용자 정의 및 게시하는 데 사용할 수 있는 무료 도구입니다.
WebMatrix를 사용하면 웹사이트를 쉽게 만들 수 있습니다. 오픈 소스 애플리케이션(예: WordPress, Joomla, DotNetNuke 또는 Orchard)으로 시작할 수 있으며 WebMatrix가 애플리케이션을 다운로드, 설치 및 구성하는 작업을 처리합니다. 또는 빠르게 시작하는 데 도움이 되는 다양한 내장 템플릿을 사용하여 직접 코드를 작성할 수도 있습니다. 무엇을 선택하든 WebMatrix는 웹 서버, 데이터베이스 및 프레임워크를 포함하여 웹 사이트를 실행하는 데 필요한 모든 것을 제공합니다. 웹 호스트에서 사용할 것과 동일한 스택을 개발 데스크탑에서 사용하면 웹 사이트를 온라인으로 전환하는 과정이 쉽고 원활해집니다. http://web.ms/webmatrix에서 다운로드할 수 있습니다. 이제 단 몇 시간 만에 WebMatrix, CSS, HTML, HTML5, ASP.NET, SQL, 데이터베이스 등을 사용하는 방법과 간단한 웹 애플리케이션을 작성하는 방법을 배울 수 있습니다. 웹 애플리케이션 개발 및 데이터에 관해 말하면 CRUD라는 용어를 들어보셨을 것입니다. CRUD는 WebMatrix로 수행하는 작업을 정확하게 요약하는 Create, Retrieve, Update 및 Delete의 약자입니다.
Add Delete Web Pages
먼저 새 CSHTML 웹 페이지를 만들고 이름을 DeleteMovie.cshtml로 지정합니다. . HTML을 다음으로 바꿉니다.
이 코드는 2개의 버튼이 있는 기본 웹 페이지를 생성합니다. 양식 제출 버튼은 HTTP POST를 트리거합니다(이전 섹션의 편집 웹페이지와 동일). EditMovie.cshtml 웹 페이지에서와 마찬가지로
<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>
로그인 후 복사
을 클릭하면 다른 버튼이 영화 목록으로 다시 리디렉션됩니다. 웹 페이지가 호출되어 삭제할 영화의 ID인 매개 변수가 전달됩니다. "@Movie.Name 영화를 삭제하시겠습니까?" 텍스트에 Movie.Name 값이 서버에 의해 삽입됩니다. 이 값을 가져오는 방법을 서버에 알려야 합니다. 이전에 페이지 상단에 일부 Razor 코드를 추가하여 입력 매개변수를 가져옵니다.
여기에서 매개변수가 웹페이지에 "id"로 전달되는 것을 볼 수 있습니다(DeleteMovie.cshtml 사용). ?id=), 이 ID는 특정 영화를 찾는 데 사용됩니다. 데이터베이스에 대한 쿼리를 수행하고 해당 영화에 대한 기록을 가져옵니다. 이제 페이지를 렌더링할 때 영화의 이름을 얻을 수 있습니다.
@{
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;
}
로그인 후 복사
DeleteMovie.cshtml?id=을 실행하면 이 데이터베이스에서 유효한 ID라고 가정하여 다음 화면이 표시됩니다.
"아니요" 버튼을 클릭하면 dataMovies.cshtml 웹 페이지로 다시 리디렉션됩니다. "예"를 클릭하면 삭제를 처리하는 코드가 작성되지 않았기 때문에 아무 일도 일어나지 않습니다. >데이터베이스에서 레코드를 삭제하려면 DELETE SQL 명령을 사용하세요. DELETE FROM
WHERE = 2, 다음과 같이 작성할 수 있습니다.
ID=2인 즐겨찾기에서 삭제, 사용자가 "예" 버튼을 클릭하면 양식이 제출되고 삭제 작업이 발생합니다. 다음과 같이 포스트백에서 이 작업을 수행할 수 있습니다. 아래와 같습니다. 이렇게 하면 영화가 삭제되고 목록 웹 페이지로 다시 리디렉션되어 영화가 사라진 것을 확인할 수 있습니다.
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>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 = 'dataMovies.cshtml'" /></p>
<br/>
</form>
로그인 후 복사
영화 목록 페이지에서 각 목록 항목에 하이퍼링크를 추가하면 됩니다. 여기서 하이퍼링크는 DeleteMovie.cshtml 페이지로 연결되어 현재 영화의 ID를 전달합니다.
dataMovies.cshtml의 전체 코드는 다음과 같습니다.
이 페이지를 실행하고 제거 작업 흐름을 확인하세요. 우선, 이것은 새로운 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>
로그인 후 복사
위는 WebMatrix 고급 튜토리얼(8): 데이터 웹 페이지의 콘텐츠 생성 및 삭제입니다. 관련 내용은 PHP 중국어 넷(www.php.cn)을 주목해주세요!