📜  ASP.NET WP-编辑数据库数据

📅  最后修改于: 2020-11-21 05:31:10             🧑  作者: Mango


在本章中,我们将介绍如何创建一个网页,用户可以在其中编辑数据库的现有数据。

  • 在此过程中,我们将创建两个页面,它们与我们之前为数据插入创建的页面相似。

  • 第一页显示客户列表,并允许用户选择要更改的客户。

  • 第二页允许用户实际进行编辑并保存。

如何编辑数据库的现有数据?

让我们在项目中创建一个新的CSHTML文件。

新的CHSTML文件

在名称字段中输入EditCustomers.cshtml ,然后单击确定。

现在,用以下代码替换EditCustomers.cshtml文件。

@{
   var db = Database.Open("WebPagesCustomers");
   var selectQueryString = "SELECT * FROM Customers ORDER BY FirstName";
}



   
      Customers List
      
   
   
   
      

Customers List

@foreach(var row in db.Query(selectQueryString)){ }
  First Name Last Name Address
Edit @row.FirstName @row.LastName @row.Address

EditCustomers.cshtml页面和ListCustomers.cshtml页面之间的唯一区别是,它包括一个额外的列,该列显示“编辑”链接。

当您单击该编辑链接时,它将带您到尚未创建的UpdateCustomer.cshtml页面。因此,我们需要创建UpdateCustomer.cshtml文件,并将其替换为以下代码。

@{
   Validation.RequireField("FirstName", "First Name is required.");
   Validation.RequireField("LastName", "Last Name is required.");
   Validation.RequireField("Address", "Address is required.");
   
   var FirstName = "";
   var LastName = "";
   var Address = "";
   var CustomerId = UrlData[0];

   if (CustomerId.IsEmpty()) {
      Response.Redirect("~/EditCustomers");
   }
   var db = Database.Open("WebPagesCustomers");
   
   if (IsPost && Validation.IsValid()) {
      var updateQueryString = "UPDATE Customers SET FirstName = @0, LastName = @1,
         Address = @2 WHERE Id = @3" ;
      FirstName = Request["FirstName"];
      LastName = Request["LastName"];
      Address = Request["Address"];
      db.Execute(updateQueryString, FirstName, LastName, Address, CustomerId);
      
      // Display the page that lists products.
      Response.Redirect(@Href("~/EditCustomers"));
   } else {
      var selectQueryString = "SELECT * FROM Customers WHERE ID = @0";
      var row = db.QuerySingle(selectQueryString, CustomerId);
      FirstName = row.FirstName;
      LastName = row.LastName;
      Address = row.Address;
   }
}



   
      Update Customer
      
   
   
   
      

Update Customer

@Html.ValidationSummary("Errors with your submission:")
Update Customer

现在,让我们运行该应用程序并指定以下URL- http:// localhost:36905 / EditCustomers ,您将看到以下网页。

ListCustomers

如您所见,它与ListCustomer处于同一网页,但每个记录都有额外的Edit Link。现在,让我们单击任何客户的“编辑”链接,假设第一个客户,您将看到下一页。

更新客户

让我们将名字从Allan更改为Steve,然后单击Save。

您将看到接下来的页面,其中包含更新后的名字,该名字现在位于末尾,因为我们已根据名字对列表进行了排序。

排序列表