با سلام خدمت همراهان سایت میزفا ، با یکی دیگر از مقالات آموزشی ASP.NET MVC در خدمت شما هستم. در این مقاله آموزشی قصد داریم نحوه ارتباط با بانک اطلاعاتی SQL SERVER برای درج اطلاعات ، ویرایش اطلاعات و حذف اطلاعات از دیتابیس را به شما آموزش دهم.
سرفصلهای پست
- 1 Insert ، Update ، Delete کردن اطلاعات در بانک اطلاعاتی SQL SERVER در ASP.NET MVC
- 2 ایجاد Model پروژه
- 3 ایجاد کلاس Context
- 4 تنظیم ConnectionString
- 5 فعال کردن Migrations و آپدیت کردن دیتابیس
- 6 ایجاد کنترلر Home
- 7 افزودن اکشن متد Index برای نمایش اطلاعات دانش آموزان در یک جدول
- 8 افزودن اکشن متد Create و SubmitCreate برای درج اطلاعات دانش آموزان در دیتابیس
- 9 افزودن اکشن متد Edit و SubmitEdit برای درج اطلاعات دانش آموزان در دیتابیس
- 10 افزودن اکشن متد Delete و SubmitDelete برای حذف اطلاعات دانش آموزان از دیتابیس
Insert ، Update ، Delete کردن اطلاعات در بانک اطلاعاتی SQL SERVER در ASP.NET MVC
این مقاله آموزشی را با یک مثال به پیش می بریم فرض کنید که میخواهیم اطلاعات دانش آموزان یک مدرسه را در بانک اطلاعاتی SQL SERVER ذخیره کنیم ابتدا باید یک مدل برای این پروژه تعریف کنیم.
ایجاد Model پروژه
در پوشه Models ، یک کلاس به نام StudentDB ، ویا نام دلخواه خودتان ایجاد کنید سپس فیلدهای جدول Student را درون کلاس مدل تعریف میکنیم به صورت زیر:
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace StudentsProject.Models { public class Student { [Key] public int ID { get; set; } [Display(Name ="نام")] public string Name { get; set;} [Display(Name = "نام خانوادگی")] public string Family { get; set;} [Display(Name = "کدملی")] public string NationalNo { get; set;} [Display(Name = "نام پدر")] public string FatherName { get; set;} [Display(Name = "شماره تماس")] public string Tell { get; set;} [Display(Name = "آدرس")] public string Address { get; set;} } }
ایجاد کلاس Context
حال باید یک کلاس Context برای مدل خود ایجاد کنید برای این منظور بر روی پوشهی Models راست کلیک کرده و سپس گزینه Add و پس از آن Class را انتخاب کنید من نام کلاس Context را StudentDbContext.cs قرار می دهم. محتوای کلاس Context را به صورت زیر ویرایش کنید:
سورس کد کلاس StudentDbContext.cs
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace StudentsProject.Models { public class StudentDBContext : DbContext { public StudentDBContext() : base("name=StudentDBContext") { } public System.Data.Entity.DbSet<StudentsProject.Models.Student> Students { get; set; } } }
تنظیم ConnectionString
حالا فایل Web.config را باز کرده و کد زیر را بین تگ آغازی <configuration> و تگ پایانی <configuration/> اضافه کنید.
<connectionStrings> <add name="StudentDBContext" connectionString="Data Source=(local); Initial Catalog=StudentDB; Integrated Security=True; MultipleActiveResultSets=True; " providerName="System.Data.SqlClient" /> </connectionStrings>
فعال کردن Migrations و آپدیت کردن دیتابیس
حالا نوبت به آپدیت کردن دیتابیس میرسد اما قبل از آپدیت کردن حتما باید Migrations را فعال کنید برای این منظور از منوی بالای Visual Studio ، از قسمت Tools -> NuGet Package Manager ، گزینه Package Manager Console را انتخاب کنید. سپس در محیط Package Manager Console دستور زیر را تایپ کرده و سپس اجرا کنید.
Enable-Migrations -ContextTypeName StudentsProject.Models.StudentDBContext
پس از اجرای دستور بالا یک پوشه به نام Migrations به پروژه شما افزوده می شود از داخل پوشه Migrations فایل Configuration.cs را باز کرده و مقدار AutomaticMigrationsEnabled را برابر true قرار دهید. سپس تغییرات فایل را ذخیره کنید.
حالا برای آپدیت کردن و یا ایجاد دیتابیس دستور زیر را در محیط Package Manager Console اجرا کنید:
update-database
حالا دیتابیس sql server را باز کنید همان طور که می بینید دیتابیس StudentDB برای شما ایجاد شده است.
ایجاد کنترلر Home
حال یک کنترلر به نام دلخواه به پروژه خود اضافه نمایید من نام Controller خودم را Home قرار میدهم. در این کنترلر قرار است اکشن متدهای مربوط به حذف اطلاعات ، ویرایش و درج اطلاعات در دیتابیس را تعریف کنیم.
افزودن اکشن متد Index برای نمایش اطلاعات دانش آموزان در یک جدول
درون کنترلر Home ، یک اکشن متد به نام Index برای دریافت اطلاعات همه دانش آموزان از دیتابیس تعریف کنید در این اکشن متد اطلاعات دانش آموزان را با با کوئری LINQ از بانک اطلاعاتی دریافت میکنیم.
سورس کد اکشن متد Index
using StudentsProject.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace StudentsProject.Controllers { public class HomeController : Controller { private StudentDBContext db = new StudentDBContext(); public ActionResult Index() { var StudentInfo = (from s in db.Students select s).ToList(); return View(StudentInfo); } } }
حال یک View برای اکشن متد Index به پروژه اضافه کنید. برای این منظور بر روی اکشن متد Index راست کلیک کرده و سپس Add View را انتخاب کنید.
سورس کد ویوی Index
@model IEnumerable<StudentsProject.Models.Student> @{ ViewBag.Title = "Index"; Layout = null; } <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> <div style="direction:rtl !important;margin:40px auto;width:70%"> <table class="table table-bordered table-hover"> <thead> <tr> <th class="text-right">نام</th> <th class="text-right">نام خانوادگی</th> <th class="text-right">کدملی</th> <th class="text-right">نام پدر</th> <th class="text-right">شماره تماس</th> <th class="text-right">آدرس</th> <th class="text-right">ویرایش</th> <th class="text-right">حذف</th> </tr> </thead> <tbody> <tr> @foreach (var item in Model) { <td>@item.Name</td> <td>@item.Family</td> <td>@item.NationalNo</td> <td>@item.FatherName</td> <td>@item.Tell</td> <td>@item.Address</td> <td> @using (Html.BeginForm("Edit", "Home", FormMethod.Post)) { @Html.AntiForgeryToken() <input type="hidden" name="ID" value="@item.ID" /> <button class="btn btn-link" type="submit">ویرایش</button> } </td> <td> @using (Html.BeginForm("Delete", "Home", FormMethod.Post)) { @Html.AntiForgeryToken() <input type="hidden" name="ID" value="@item.ID" /> <button class="btn btn-link" type="submit">حذف</button> } </td> } </tr> </tbody> </table> </div>
افزودن اکشن متد Create و SubmitCreate برای درج اطلاعات دانش آموزان در دیتابیس
درون کنترلر Home ، یک اکشن متد به نام Create برای نمایش فرم ورود اطلاعات و یک اکشن متد به نام SubmitCreate برای دریافت اطلاعات فرم و درج اطلاعات در دیتابیس تعریف کنید.
سورس کد اکشن متد Create و SubmitCreate
using StudentsProject.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace StudentsProject.Controllers { public class HomeController : Controller { private StudentDBContext db = new StudentDBContext(); public ActionResult Create() { return View(); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult SubmitCreate(Student model) { if (ModelState.IsValid) { Student Student = new Student() { Name = model.Name, Family = model.Family, NationalNo = model.NationalNo, FatherName = model.FatherName, Tell = model.Tell, Address = model.Address, }; db.Students.Add(Student); db.SaveChanges(); return RedirectToAction("Index"); } return View("Create",model); } } }
حالا یک ویو برای اکشن متد Create به پروژه اضافه نمایید این View فرم ثبت نام را به ما نمایش می دهد. سورس کد ویوی Create به صورت زیر است :
سورس کد ویویCreate
@model StudentsProject.Models.Student @{ ViewBag.Title = "Create"; Layout = null; } <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> <div style="direction:rtl !important;margin:40px auto;width:70%"> @using (Html.BeginForm("SubmitCreate", "Home", FormMethod.Post)) { @Html.AntiForgeryToken() <div class="form-horizontal"> <h4>فرم ثبت نام دانش آموز</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.Family, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Family, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Family, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.NationalNo, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.NationalNo, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.NationalNo, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.FatherName, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.FatherName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.FatherName, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Tell, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Tell, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Tell, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-12"> <input type="submit" value="ثبت نام" class="btn btn-primary pull-left" /> </div> </div> </div> } </div>
افزودن اکشن متد Edit و SubmitEdit برای درج اطلاعات دانش آموزان در دیتابیس
حالا درون کنترلر Home ، یک اکشن متد به نام Edit برای نمایش اطلاعات دانش آموز در حالت ویرایش و یک اکشن متد به نام SubmitEdit برای آپدیت کردن یا ویرایش اطلاعات دانش آموز تعریف کنید.
سورس کد اکشن متد Edit و SubmitEdit
using StudentsProject.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace StudentsProject.Controllers { public class HomeController : Controller { private StudentDBContext db = new StudentDBContext(); public ActionResult Edit(int ID) { var StudentInfo = (from s in db.Students where (s.ID == ID) select s).First(); return View(StudentInfo); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult SubmitEdit(Student model) { var StudentInfo = (from s in db.Students where (s.ID == model.ID) select s).First(); StudentInfo.Name = model.Name; StudentInfo.Family = model.Family; StudentInfo.NationalNo = model.NationalNo; StudentInfo.FatherName = model.FatherName; StudentInfo.Tell = model.Tell; StudentInfo.Address = model.Address; db.SaveChanges(); Index(); return View("Index"); } } }
حال یک ویو برای اکشن متد Edit به پروژه خود اضافه کنید سورس کد این View به صورت زیر است:
سورس کد ویوی Edit
@model StudentsProject.Models.Student @{ ViewBag.Title = "Edit"; Layout = null; } <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> <div style="direction:rtl !important;margin:40px auto;width:70%"> @using (Html.BeginForm("SubmitEdit", "Home", FormMethod.Post)) { @Html.AntiForgeryToken() <div class="form-horizontal"> <h4>ویرایش اطلاعات دانش آموز</h4> <hr /> @Html.ValidationSummary(true, "", new { @class = "text-danger" }) @Html.HiddenFor(model => model.ID) <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.Family, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Family, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Family, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.NationalNo, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.NationalNo, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.NationalNo, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.FatherName, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.FatherName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.FatherName, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Tell, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Tell, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Tell, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-12"> <input type="submit" value="ذخیره تغییرات" class="btn btn-primary pull-left" /> </div> </div> </div> } </div>
افزودن اکشن متد Delete و SubmitDelete برای حذف اطلاعات دانش آموزان از دیتابیس
در کنترلر Home ، یک اکشن متد به نام Delete برای نمایش پیغام حذف اطلاعات و یک اکشن متد به نام SubmitDelete برای حذف اطلاعات دانش آموز تعریف کنید.
سورس کد اکشن متد Delete و SubmitDelete
using StudentsProject.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace StudentsProject.Controllers { public class HomeController : Controller { private StudentDBContext db = new StudentDBContext(); public ActionResult Delete(int ID) { ViewBag.ID = ID; return View(); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult SubmitDelete(int ID) { var StudentInfo = (from s in db.Students where (s.ID == ID) select s).First(); db.Students.Remove(StudentInfo); db.SaveChanges(); Index(); return View("Index"); } } }
سورس کد ویوی Delete
@{ ViewBag.Title = "Delete"; Layout = null; } <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> <link href="~/Content/Site.css" rel="stylesheet" /> <div style="direction:rtl !important;margin:40px auto;width:50%" class="alert alert-warning"> <p>آیا در مورد حذف اطلاعات این دانش آموزاطمینان دارید ؟</p> @using (Html.BeginForm("SubmitDelete", "Home", FormMethod.Post)) { @Html.AntiForgeryToken() <div class="form-group"> <input type="hidden" value="@ViewBag.ID" name="ID" /> </div> <div class="form-actions no-color"> <a href="/Home/Index" class="btn btn-default pull-left" data-dismiss="modal">خیر</a> <input type="submit" value="بله" class="btn btn-danger pull-left" /> <div style="clear:both"></div> </div> } </div>
بسیار خب به پایان این مقاله آموزشی ASP.NET MVC رسیدیم در صورتی که پیرامون این مقاله آموزشی سوالی داشتید حتما در قسمت نظرات مطرح کنید.
42 پاسخ
سلام. واقعا خسته نباشید توضیحات بسیار عالی بودن و کمک بسیاری بهم کردین.
ممنون از سایت خوبتون.
سلام من به modal ایجاد کردم برای تایید حذف یک محصول
اما روی دکمه حذف مدال میزنم هیچ کاری نمیکنه
کد ajx رو هم گذاشتم
میشه نمونه فایلی دارید ارایه کنید؟
ممنون
سلام
از bootstrap استفاده کن برای ساخت مودال ها.
اینطوری باگ کمتری داری.
درود و سپاسی بیکران بانوی گرامی
از این زمانی که گذاشتید
سلام خسته نباشید
اگر داخل کلاس StudentDB از ارایه هم استفاده کنیم
امکان پذیر هست در sql؟؟
چون چنین چیزی رو من داخل nosql پیاده کردم اما الان نیاز دارم که روی sql پیاده سازی کنم
تشکر
سلام وقتتون بخیر
خیر پایگاه داده sql از نوع داده ای ارایه پشتیبانی نمیکند.
سلام ممنونم سلامت باشید
خیر امکان پذیر نیست
sql از نوع داده آرایه پشتیبانی نمیکنه.
سلام مراحلی که گفتین انجام دادم اما تو بخش Package Manager Console قسمت Enable-Migrations -ContextTypeName StudentsProject.Models.StudentDBContext تایپ میکنم این ارور نشون میده
Migrations have already been enabled in project ‘C:\Users\MAHDI\source\repos\StudentsProject\StudentsProject\bin\StudentsProject.dll’. To overwrite the existing migrations configuration, use the -Force parameter.
و بعد از ابدیت دیتابیس این پیام میده Specify the ‘-Verbose’ flag to view the SQL statements being applied to the target database.
No pending explicit migrations.
Running Seed method.
ویژوال نسخه 2017 و sql2014 نصب کردم
سلام وقتتون بخیر
شما دستورات زیر رو وارد کنید
Enable-Migrations -Force
update-database
سلام.وقت بخیر.
ممنون از مطالب خوبی که قرار میدید.
لطفا به سوال من هم جواب بدید
فایل context برای ما چه کاری انجام میده و اینکه وقتی من میخوام using.data.entity رو اضافه کنم برام entity رو نمیاره.
باید ناگت خاصی رو اصافه کنم؟
سلام وقتتون بخیر
توی فایل context ما DbSet ها رو تعریف می کنیم هر کدوم از DbSet ها تبدیل میشن به جداول دیتابیس … بعدش می تونیم عملیات CRUD از طریق DbSet ها روی دیتابیس انجام بدیم.
اگر منظورنون پکیج entityframework هست بله باید از طریق Nuget نصب بشه.
سلام.
Asp.net Core 3.1
من قبلا یک جدول با Migration در بانک ایجاد کرده بودم. چون دیدم اسمش اشتباه نوشتم سعی کردم اونو از بانک پاکنم. الآن که میخوام یک جدول دیگه با نام دیگه ای به بانک اضاف کنم پیغام همون جدول رو میده. من اون جدول رو با کلید Delete پاک کرده بودم.متن خطا:
Cannot drop the table ‘Couponn’, because it does not exist or you do not have permission.
الآن چکار کنم؟ این جدول رو من قبلا پاک کرده بودم و الآن داخل بانکم نیست.
ممنون
سلام وقتتون بخیر
شما باید بعد از حذف جدول و اضافه کردن جدول جدول جدید یک migration جدید اضافه کنید و دیتابیس رو با دستور update-database آپدیت کنید.
اگر فقط قصدتون تغییر نام جدول هم بود فقط کافی بود کلاس مربوط به همون جدول رو ویرایش کنید و نام کلاس رو تغییر بدید بعدش یک migration جدید اضافه کنید و دیتابیس رو آپدیت کنید.
سلام خسته نباشید
توی قسمت edit وقتی میخواهیم edit کنیم چجوری باید موقع زدن دکمه edit تموم اون فیلد هایی که اطلاعات هست بره مستقیم توی اون فیلدهایی خودشون قرار بگیرن برای ویرایش یعنی موقع زدن دکمه ویرایش فیلدها خالی نباشه داخلشون اطلاعات اون مطلبی باشه که میخواهیم ویرایشش کنیم.؟؟
سلام
شما داخل اکشن متد می تونید model و یا View Model خودتون رو مقداردهی کنید به عنوان مثال اطلاعات کتاب رو می خواهید به View ارسال کنید یک نمونه از model تعریف کرده و سپس پراپرتی های model رو مقداردهی کنید و درنهایت model به View ارسال کنید اونوفت اطلاعات شما در حالت ویراش قابل مشاهده هست.
سلام
من میخوام یک قسمت سرچ اطلاعات که به صورت Ajax هست اضافه کنم به این مثال .
از ویو مدل استفاده کردم و پارشیال ویو هم اوکی هست .
ولی وقتی پارشیال ویو رو پاس میدم
The model item passed into the ViewDataDictionary is of type ‘System.Collections.Generic.List`1[Student.Models.StudentDB]’, but this ViewDataDictionary instance requires a model item of type ‘Student.Models.ViewModels.SearchViewModels’.
با این خطا مواجه میشم که منطقی هم هست! ولی نمیدونم باید چکار انجام بدم
ممنون میشم راهنمایی کنید …
سلام دلیل این خطا به این خاطر هست که مدل یا ویو مدل View و Partial View یکسان نیست شما می تونید Model یا ViewModel مورد نیاز Partial View را از داخل View به آن پاس دهید .
سلام. برای من تو کلاس StudentDbContext.cs دستور DbContext رو خطا میده چیکار کنم؟
سلام احتمالا namespace مربوط به کلاس DbContext رو به پروژتون اضافه نکردید.
سلام . متاسفانه تو پروژه ای که من ایجاد میکنم webconfig نداره . و همچنین تو کلاس StudentDbContext.cs زیر DbContext خط قرمز میکشه و خطا میده . ممنون میشم راهنمایی کنید. با تشکر.
سلام … شما پروژتون رو از نوع ASP.NET MVC ایجاد کردید؟ چون پروژتون باید فایل Web.config رو داشته باشه مگر اینکه پروژه ی شما از نوع ASP.NET Core باشه که کلا فایل Web.config رو نداره و باید Connection String رو توی فایل appsettings.json ایجاد کنید.
مچکرم . ممنونم از سایت بسیار خوب و مفیدتون.
سلام. نوع پروژه ای که من تعریف کردم، از نوع :
ASP.NET WEB APPLICATION (.NET CORE)
من تو این مورد چطور تغییرات داده ها در ارتباط با SQL رو انجام بدم؟ ممنون میشم راه نمایی کنید منو . با تشکر از شما خانم ابراهیمی.
سلام … در پروژه های ASP.NET Core برای ارتباط با بانک اطلاعاتی و انجام عملیات CRUD ، از Entity Framework Core استفاده کنید. برای افزودن EF Core به پروژه می توانید از مقاله افزودن EF Core به پروژه استفاده کنید.
سلام
مثالی که شما مطرح کردید اگه اشتباه نکنم از نوع کد فرست هست، کاشکی یک نمونه از همین مثال رو از نوع مدل فرست می گفتین چون راجب مدل فرست خیلی مطلب کم هست و من به شدت به اون احتیاج دارم
با سلام … بله در این روش از CodeFirst استفاده کردیم … سعی میکنم در مقالات آتی این مورد رو هم آموزش بدم … موفق باشید.
حالا برای آپدیت کردن و یا ایجاد دیتابیس دستور زیر را در محیط اجرا کنید:
update-database در كدام محيط دقيقا اين دستور بايد بنويسم ؟
با سلام … در محیط Package Manager Console این دستور را تایپ کنید.
سلام اقا فیلم ساخت این پروژ به من لینک میدی ممنونم
با سلام برای این مقاله فیلم آموزشی تهیه نشده است ،با مطالعه دقیق این مقاله به راحتی می تونید عملیات درج ، حذف ، ویرایش و … را انجام بدید.
سلام خسته نباشید. آیا امکانش هست به این پروژه یه آموزش دیگه هم اضافه کنید!؟ یه جدول شهر اضافه بشه و با استفاده از dropdownlist موقع درج رکورد مشخص بشه که هر دانش آموز متعلق به کدام شهر هست
سلام … در حال حاضر فرصتی برای انتشار مقاله جدید ندارم در آینده حتما یک مقاله آموزشی در این باره منتشر خواهم شد .
سلام
ممنن از مطلب خوبتون.
فقط دیالوگ ها برای من کار نمی کنن. همه فرمها تو یک صفحه جدا باز میوند.
این مثال میشه برای دانلود بزارید تا فایلهای .js هم همراهش دانلود کنیم و دیالوگ ها کار کنن؟
سلام … خواهش میکنم … منظورتون از دیالوگ ها رو متوجه نشدم !!! … در ضمن من از فایل js استفاده نکردم … منظورتون استفاده از ajax برای عملیات درج و حذف و ویرایش هست ؟ که عملیات در یک صفحه انجام بشه ؟
سلام. نه منظورم اینه که مثلا وقتی دکمه حذف را می زنیم باید یه پنجره روی صفحه اصلی باز بشه که پیفام حذف را بده . یا برای درج و ویرایش هم همینطور. ولی باری من پنجره جدا باز نمیشه. میره به یک صفحه دیگه و برای برگشت به صفحه اصلی باید back بزنم.
با سلام منظور شما استفاده از ajax هست . من یک نمونه کد برای شما قرار میدم که وقتی روی دکمه حذف می زنید یک Modal در صفحه باز میشه و در صورتی که کاربر بر روی دکمه بله کلیک کنه عملیات حذف انجام میشه امیدوارم که به دردتون بخوره.
کد اکشن متد Delete
کد Partial View مربوط به اکشن متد Delete
کد ajax برای نمایش Modal در صفحه (از Modal های بوت استرپ در صفحه استفاده کنید)
خیلی خیلی ممنونم از اینکه وقت میزارید و پاسخ میدید.
خواهش میکنم .
با عرض سلام
از مطالب مفیدتون بسیار سپاسگزارم
نیاز به آموزش MVC بصورت آنلاین(مثلا اسکایپ دارم)
خواهشمندم در این زمینه من را راهنمایی بفرمایید.
با تشکر فراوان
سلام … متشکرم … من فعلا فرصتی برای تدریس MVC به صورت خصوصی ندارم … می تونید برای یادگیری از ویدیوهای آموزشی MVC سایت های معتبر استفاده کنید… موفق باشید.
درود،سپاس از مطالب مفید و ارزشمندتان.
تشکر… موفق باشید .