ارتباط GridView با دیتابیس در MVC 5
شنبه 18 مهر 1394در این مقاله چگونگی ارتباط گرید ویو را با استفاده از MVC5 و Razor نشان خواهیم داد . برای روشن شدن مطلب از یک مثال ساده استفاده خواهیم کرد که نیاز به یک دیتابیس دارد که اطلاعات وارد شده در جدول با گریدویو در ارتباط باشد .
در این مقاله چگونگی ارتباط گرید ویو را با استفاده از MVC5 و Razor نشان خواهیم داد . برای روشن شدن مطلب از یک مثال ساده استفاده خواهیم کرد که نیاز به یک دیتابیس دارد که اطلاعات وارد شده در جدول با GridView در ارتباط باشد .
در ویژوال استودیو یک پروژه ایجاد میکنیم . مسیر زیر را دنبال کنید .
Visual Studio 2013 > New Project > VisualC# > Web > ASP.Net Web Application
از صفحه باز شده MVC را انتخاب کنید.
در قسمت Solution Eplorer چیزی شبیه به تصویر زیر مشاهده می کنید. قسمت کنترلر ، مدل و ویو اجزای اصلی MVC می باشند.
جدولی با مشخصات زیر برای دیتابیس ایجاد میکنیم.
برای استفاده از دیتابیس روی Models راست کلیک کرده و از قسمت Add New Item گزینه ADO.net Entity Data Model را انتخاب می کنیم.
از پنجره باز شده گزینه EF Desinger From Database را انتخاب میکنیم . و دیتابیس را به پروژه اضافه میکنیم.
در Web.config خاصیت ConnectionString را با توجه به محل قرار گیری و نام دیتابیس تنظیم میکنیم.
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=.;Initial Catalog=GridMVC;Integrated Security=True" providerName="System.Data.SqlClient" /> <add name="StudentContext" connectionString="Data Source=.;Initial Catalog=GridMVC;Integrated Security=True" providerName="System.Data.SqlClient"></add> </connectionStrings>
روی Models راست کلیک کرده و از قسمت Add New Item ، یک کلاس با نام Student ایجاد میکنیم و کدهای زیر را در آن قرار می دهیم.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace MVCBindGridView.Models { [Table("tbl_data")] public class Student { [Key] public int id { get; set; } public string name { get; set; } public string city { get; set; } } }
کلاس دیگری در Models با نام StudentContext اضافه میکنیم.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace MVCBindGridView.Models { public class StudentContext : DbContext { public DbSet<Student> student { get; set; } } }
روی کنترلر راست کلیک کرده و یک کنترل خالی با نام StudentController اضافه میکنیم. کدهای زیر را در آن قرار می دهیم.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MVCBindGridView.Models; namespace MVCBindGridView.Controllers { public class StudentController : Controller { // GET: Student public ActionResult Index() { StudentContext stdntcntxt = new StudentContext(); var data = stdntcntxt.student; return View(data.ToList()); } } }
در قسمت ActionResult روی View راست کلیک کرده و طبق تصویر زیر پیش می رویم.
در ویوی ایجاد شده کدهای زیر را قرار می دهیم .
@model IEnumerable<MVCBindGridView.Models.Student> @{ ViewBag.Title = "Bind Gridview with Database"; WebGrid grid = new WebGrid(Model); } <h2>Bind GridView in MVC5 with Database</h2> @grid.GetHtml(columns: new[] { grid.Column("id"), grid.Column("name"), grid.Column("city") } )
خروجی به صورت زیر می باشد .
- ASP.net MVC
- 3k بازدید
- 5 تشکر