先决条件:
- 下载并安装Microsoft SQL Server Management Studio
- 下载并设置Visual Studio社区版本
MVC代表模型视图控制器。它是一种用于分离业务逻辑,表示逻辑和数据的设计模式。基本上,它提供了样式Web应用程序的模式。根据MVC,您可以将应用程序划分为3个层,如下所示:
1.模型层:模型组件对应于用户使用的所有或任何与数据相关的逻辑。这将表示在View和Controller组件之间传输的信息或其他与业务逻辑相关的数据。例如,一个Customer对象将从数据库中检索客户信息,对其进行操作,并将其数据更新回数据库或使用它来呈现数据。
2.视图层:视图组件用于设备的所有UI逻辑。例如,“客户”视图将包括最终用户与之交互的所有UI组件,例如文本框,下拉菜单等。
3.控制器:控制器充当模型之间的接口,并考虑组件以处理所有业务逻辑和传入请求,使用模型组件操纵数据,并与视图交互以呈现最终输出。例如,客户控制器将处理客户视图中的所有交互和输入,并使用客户模型更新数据库。一个等效的控制器是
将不会查看客户数据。
ASP.NET是Microsoft创建的服务器端Web应用程序框架,可在Windows上运行,并于2000年代初期启动。 ASP.NET允许开发人员制作Web应用程序,Web服务和动态内容驱动的网站。最新版本的ASP.NET是4.7.1
要了解如何在Visual Studio中设置项目以及如何创建数据库,请参阅以下链接:
- 在MS-SQL Server Management Studio中创建数据库
- 在Visual Studio中创建一个项目
1.用以下几列创建一个数据库:这只是一个演示,使您理解本文中的代码。您可以根据需要创建自己的数据库。
2.在Visual Studio中创建项目请按照上面提供的链接中给出的准则创建项目。创建项目后,添加实体数据模型以将连接字符串添加到您的web.config文件中,请按照此文章将实体数据模型添加到ASP.NET项目中的操作。以下EDMX图表将显示在您的解决方案窗口中。
ASP.NET CRUD(创建,读取,更新,删除)
1.立即创建以在数据库中创建新记录,在新创建的控制器中编写以下代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller
{
// To create View of this Action result
public ActionResult create()
{
return View();
}
// Specify the type of attribute i.e.
// it will add the record to the database
[HttpPost]
public ActionResult create(Student model)
{
// To open a connection to the database
using(var context = new demoCRUDEntities())
{
// Add data to the particular table
context.Student.Add(model);
// save the changes
context.SaveChanges();
}
string message = "Created the record successfully";
// To display the message on the screen
// after the record is created successfully
ViewBag.Message = message;
// write @Viewbag.Message in the created
// view at the place where you want to
// display the message
return View();
}
}
}
写完之后,单击第一个操作结果,然后单击AddView,然后选择“模板”作为“创建”,并选择“模型类”作为您自己创建的模型,并选择数据上下文类作为您自己创建的EDMX模型。然后运行项目并转到URL https:// localhost:port_number / Controller_name / Action_Method_name
例如,https:// localhost:44326 / CRUD / create
2.阅读:现在,按照以下给出的代码在屏幕上查看添加的数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller {
[HttpGet] // Set the attribute to Read
public ActionResult
Read()
{
using(var context = new demoCRUDEntities())
{
// Return the list of data from the database
var data = context.Student.ToList();
return View(data);
}
}
}
}
在此之后添加视图,但请记住将模板更改为列表。然后运行项目并转到URL
https:// localhost:port_number / Controller_name / Action_Method_name
例如https:// localhost:44326 / CRUD / Read
3.更新:现在,要更新现有记录,请遵循以下代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller
{
// To fill data in the form
// to enable easy editing
public ActionResult Update(int Studentid)
{
using(var context = new demoCRUDEntities())
{
var data = context.Student.Where(x => x.StudentNo == Studentid).SingleOrDefault();
return View(data);
}
}
// To specify that this will be
// invoked when post method is called
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Update(int Studentid, Student model)
{
using(var context = new demoCRUDEntities())
{
// Use of lambda expression to access
// particular record from a database
var data = context.Student.FirstOrDefault(x => x.StudentNo == Studentid);
// Checking if any such record exist
if (data != null)
{
data.Name = model.Name;
data.Section = model.Section;
data.EmailId = model.EmailId;
data.Branch = model.Branch;
context.SaveChanges();
// It will redirect to
// the Read method
return RedirectToAction("Read");
}
else
return View();
}
}
}
}
在此之后,添加视图的方式与之前类似,但是请记住将模板更改为“编辑”。然后运行项目并转到URL https:// localhost:port_number / Controller_name / Action_Method_name?ID_U_want_to_edit
例如,https:// localhost:44326 / CRUD / Update?Studentid = 1
4.立即删除,要从数据库中删除一条记录,请遵循以下代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CRUDDemo.Controllers
{
public class CRUDController : Controller {
public ActionResult Delete()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken] public ActionResult
Delete(int Studentid)
{
using(var context = new demoCRUDEntities())
{
var data = context.Student.FirstOrDefault(x = > x.StudentNo == Studentid);
if (data != null) {
context.Student.Remove(data);
context.SaveChanges();
return RedirectToAction("Read");
}
else
return View();
}
}
}
}
在添加视图之后,就像以前一样,但是请记住将模板更改为“删除”。然后运行项目并转到URL https:// localhost:port_number / Controller_name / Action_Method_name?ID_U_want_to_Delete
例如,https:// localhost:44326 / CRUD / Delete?Studentid = 1
笔记:
- 自动生成的HTML可以根据您的选择进行修改。
- 如果您想查看完整的源代码及其工作方式,可以单击GitHub Link查看我的GitHub存储库。