کار با DataSets و DataTables در ASP.Net MVC Razor
با سلام در این مقاله با یک مثال توضیح خواهیم داد که چگونه می توان از DataSets و DataTables در ASP.Net MVC Razor استفاده کرد.
بانک اطلاعات
از جدول مشتریان به شرح زیر استفاده کرده ایم. CustomerId یک ستون افزایش خودکار (هویت) است.

قبلاً چند رکورد در جدول وارد کرده ایم.

توجه :
می توانید جدول بانک اطلاعاتی SQL را با کلیک روی لینک دانلود کنید. فایل SQL را بارگیری کنید
فضاهای نام
باید نامهای زیر را وارد کنید
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
Controller
Controller از روش Index Action تشکیل شده است. در داخل این روش ، سوابق با استفاده از ADO.Net از جدول مشتریان گرفته می شوند .
سوابق با استفاده از شی کلاس SqlDataAdapter در DataSet وارد می شوند. سرانجام DataSet به View برگشت داده می شود.
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
DataSet ds = new DataSet();
string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
string query = "SELECT * FROM Customers";
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(ds);
}
}
}
return View(ds);
}
}
View
در داخل View، کلاس DataSet به عنوان Model برای View اعلام شده است. برای Viewسوابق از جدول HTML استفاده می شود. یک حلقه بر روی ردیف های DataTable اجرا خواهد شد که ردیف های جدول HTML را با سوابق مشتری ایجاد می کند.
@using System.Data
@model DataSet
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
<table cellpadding="0" cellspacing="0">
<tr>
<th>CustomerID</th>
<th>ContactName</th>
<th>Country</th>
</tr>
@foreach (DataRow row in Model.Tables[0].Rows)
{
<tr>
<td>@row["CustomerId"]</td>
<td>@row["Name"]</td>
<td>@row["Country"]</td>
</tr>
}
</table>
</body>
</html>
عکسهای صفحه
