MVC(模型视图控制器)是一种Web应用程序设计模式,广泛用于应用程序开发中。在这里,我们正在创建一个MVC应用程序,该应用程序借助ADO.NET框架连接到SQL Server。
该应用程序包含模型,视图和控制器文件。以下是应用程序的源代码。
模型
// Student.cs
using System;
using System.ComponentModel.DataAnnotations;
namespace Ado.NetMvcApplication.Models
{
public class Student
{
public int ID { get;
set;
}
// -- Validating Student Name
[Required(ErrorMessage = "Name is required")]
[MaxLength(12)]
public string Name { get;
set;
}
// -- Validating Email Address
[Required(ErrorMessage = "Email is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get;
set;
}
// -- Validating Contact Number
[Required(ErrorMessage = "Contact is required")]
[DataType(DataType.PhoneNumber)]
[RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Not a valid Phone number")]
public string Contact { get;
set;
}
}
}
视图
【ado.net mvc示例】// Index.cshtml
@model Ado.NetMvcApplication.Models.Student
@{
ViewBag.Title = "Index";
}
<
h2>Index<
/h2>
@using (Html.BeginForm("Save", "Students"))
{
@Html.AntiForgeryToken()<
div class="form-horizontal">
<
h4>Student<
/h4>
<
hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<
div class="form-group">
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<
div class="col-md-10">
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
<
/div>
<
/div>
<
div class="form-group">
@Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
<
div class="col-md-10">
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
<
/div>
<
/div>
<
div class="form-group">
@Html.LabelFor(model => model.Contact, htmlAttributes: new { @class = "control-label col-md-2" })
<
div class="col-md-10">
@Html.EditorFor(model => model.Contact, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Contact, "", new { @class = "text-danger" })
<
/div>
<
/div>
<
div class="form-group">
<
div class="col-md-offset-2 col-md-10">
<
input type="submit" value="http://www.srcmini.com/Create" class="btn btn-default" />
<
/div>
<
/div>
<
/div>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
控制者
// StudentsController.cs
using System.Web.Mvc;
using Ado.NetMvcApplication.Models;
using System.Data.SqlClient;
namespace Ado.NetMvcApplication.Controllers
{
public class StudentsController : Controller
{
// GET: Students
public ActionResult Index()
{
return View();
}
[HttpPost]
public ContentResult Save(Student student)
{
string status = "";
// Creating Connection
using (SqlConnection con = new SqlConnection("data source=.;
database=student;
integrated security=SSPI"))
{
// Insert query
string query = "INSERT INTO student(name, email, contact) VALUES(@name, @email, @contact)";
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
// opening connection
con.Open();
// Passing parameter values
cmd.Parameters.AddWithValue("@name", student.Name);
cmd.Parameters.AddWithValue("@email", student.Email);
cmd.Parameters.AddWithValue("@contact", student.Contact);
// Executing insert query
status = (cmd.ExecuteNonQuery() >= 1) ?"Record is saved Successfully!" : "Record is not saved";
status += "<
br/>";
}
// Executing select command
using (SqlCommand cmd = new SqlCommand("select * from student"))
{
cmd.Connection = con;
// Retrieving Record from datasource
SqlDataReader sdr = cmd.ExecuteReader();
// Reading and Iterating Records
while (sdr.Read())
{
status += "<
b>name:<
/b> "+sdr["name"]+"<
br/> <
b>Email:<
/b> "+sdr["email"]+"<
br> <
b>Contact:<
/b> "+sdr["contact"];
}
}
return Content(status);
}
}
}
}
输出:
文章图片
提交后,它将存储和从SQL Server数据库中获取数据,并向浏览器产生以下结果。
文章图片
推荐阅读
- ADO.NET教程目录
- ado.net web表单示例
- ado.net数据适配器
- ado.net数据表
- ado.net数据集
- ado.net数据阅读器
- ado.net命令
- ado.net连接
- ado.net sql服务器连接