Dot net core code :
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
namespace BootstarpModalPopup.Models
{
public class CUSTOMER
{
[Key]
public int CID { get; set; }
[MaxLength(50)]
public string NAME { get; set; }
public string ADDRESS { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
namespace BootstarpModalPopup.Models
{
public class CUSTOMERVM
{
public CUSTOMERVM()
{
CustomerList = new List<CUSTOMER>();
}
public int CID { get; set; }
[Required(ErrorMessage ="Name should not be blank.")]
public string NAME { get; set; }
[Required(ErrorMessage = "Address should not be blank.")]
[DataType(DataType.MultilineText)]
public string ADDRESS { get; set; }
public string Message { get; set; }
public List<CUSTOMER> CustomerList { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace BootstarpModalPopup.Models
{
public class AppDbContext:DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options):base(options)
{
}
public DbSet<CUSTOMER> Customers { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SivDB008;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
}
}
}
--
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using BootstarpModalPopup.Models;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.EntityFrameworkCore;
namespace BootstarpModalPopup
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddDbContext<AppDbContext>();
services.AddScoped<IRepository<CUSTOMER>, Repository<CUSTOMER>>();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
--
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace BootstarpModalPopup.Models
{
public interface IRepository<T> where T:class
{
Task<IEnumerable<T>> Gets();
Task<T> Get(int ID);
Task<T> Save(T t);
Task<T> Update(T t);
Task<T> Delete(int ID);
Task<T> SaveAll(List<T> lst);
Task<T> DeleteAll(List<T> lst);
}
}
--
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace BootstarpModalPopup.Models
{
public class Repository<T> : IRepository<T> where T : class
{
#region Declaretion
private readonly AppDbContext Context;
#endregion
public Repository(AppDbContext Context)
{
this.Context = Context;
}
public async Task<T> Delete(int ID)
{
T t =await Context.Set<T>().FindAsync(ID);
Context.Set<T>().Remove(t);
await Context.SaveChangesAsync();
return t;
}
public async Task<T> DeleteAll(List<T> lst)
{
Context.Set<T>().RemoveRange(lst);
await Context.SaveChangesAsync();
return lst.FirstOrDefault();
}
public async Task<T> Get(int ID)
{
return await Context.Set<T>().FindAsync(ID);
}
public async Task<IEnumerable<T>> Gets()
{
return await Context.Set<T>().ToListAsync();
}
public async Task<T> Save(T t)
{
await Context.Set<T>().AddAsync(t);
await Context.SaveChangesAsync();
return t;
}
public async Task<T> SaveAll(List<T> lst)
{
await Context.Set<T>().AddRangeAsync(lst);
await Context.SaveChangesAsync();
return lst.FirstOrDefault();
}
public async Task<T> Update(T t)
{
Context.Set<T>().Update(t);
await Context.SaveChangesAsync();
return t;
}
}
}
--
Controller :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using BootstarpModalPopup.Models;
namespace BootstarpModalPopup.Controllers
{
public class CustomerController : Controller
{
#region
private readonly IRepository<CUSTOMER> repository;
private static string message = string.Empty;
#endregion
public CustomerController(IRepository<CUSTOMER> repository)
{
this.repository = repository;
}
[HttpGet]
public async Task<IActionResult> Index(int? id)
{
CUSTOMERVM cUSTOMERVM = new CUSTOMERVM();
try
{
if(id==null)
cUSTOMERVM.Message = string.Empty;
else
{
CUSTOMER cUSTOMER = await repository.Get(id.Value);
cUSTOMERVM.CID = cUSTOMER.CID;
cUSTOMERVM.NAME = cUSTOMER.NAME;
cUSTOMERVM.ADDRESS = cUSTOMER.ADDRESS;
}
var data = await repository.Gets();
cUSTOMERVM.CustomerList = data.ToList();
if (!string.IsNullOrEmpty(message))
{
cUSTOMERVM.Message = message;
message = null;
}
else
cUSTOMERVM.Message = "";
}
catch (Exception ex)
{
cUSTOMERVM.Message = ex.Message;
}
return View(cUSTOMERVM);
}
[HttpPost]
public async Task<IActionResult> Create(CUSTOMERVM cUSTOMERVM)
{
try
{
if (ModelState.IsValid)
{
CUSTOMER cUSTOMER = new CUSTOMER();
if (cUSTOMERVM.CID>0)
{
cUSTOMER.CID = cUSTOMERVM.CID;
cUSTOMER.NAME = cUSTOMERVM.NAME;
cUSTOMER.ADDRESS = cUSTOMERVM.ADDRESS;
cUSTOMER = await repository.Update(cUSTOMER);
message = "Data Updated Successfully.";
return RedirectToAction("Index");
}
else
{
cUSTOMER.NAME = cUSTOMERVM.NAME;
cUSTOMER.ADDRESS = cUSTOMERVM.ADDRESS;
cUSTOMER = await repository.Save(cUSTOMER);
message = "Data Saved Successfully.";
return RedirectToAction("Index");
}
}
else
return View(cUSTOMERVM);
}
catch (Exception ex)
{
cUSTOMERVM.Message = ex.Message;
}
return View(cUSTOMERVM);
}
[HttpGet]
public async Task<IActionResult> Delete(int id)
{
CUSTOMER cUSTOMER = await repository.Delete(id);
message = "Data Deleted Successfully.";
return RedirectToAction("Index");
}
}
}
Index View :
@model CUSTOMERVM
@{
ViewData["Title"] = "Index";
}
<style type="text/css">
.xxx {
background-color: #0069d9;
border-color: #0062cc;
color: white
}
.modal-header {
display: block !important;
}
.modal-title {
float: left;
}
.modal-header .close {
float: right;
}
</style>
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="NAME" class="control-label"></label>
<input asp-for="NAME" class="form-control" />
<input asp-for="CID" type="hidden" />
<span asp-validation-for="NAME" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ADDRESS" class="control-label"></label>
<textarea asp-for="ADDRESS" class="form-control"></textarea>
<span asp-validation-for="ADDRESS" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Submit" class="btn btn-primary" style="width:80px" />
<input type="reset" value="Reset" class="btn btn-primary" style="width:80px"/>
</div>
</form>
</div>
</div>
<div class="row">
<partial name="ListPV" model="Model.CustomerList" />
</div>
<partial name="ConfirmPV" />
@{
if (@Model.Message != "")
{
<partial name="AlertPV" model='new Alert() { Message=Model.Message }' />
}
}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
ListPV Partial View :
@model IEnumerable<BootstarpModalPopup.Models.CUSTOMER>
<table class="table table-bordered table-hover">
<thead class="xxx">
<tr>
<th>
@Html.DisplayNameFor(model => model.CID)
</th>
<th>
@Html.DisplayNameFor(model => model.NAME)
</th>
<th>
@Html.DisplayNameFor(model => model.ADDRESS)
</th>
<th>ACTION</th>
</tr>
</thead>
<tbody>
@if (Model.Count() > 0)
{
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CID)
</td>
<td>
@Html.DisplayFor(modelItem => item.NAME)
</td>
<td>
@Html.DisplayFor(modelItem => item.ADDRESS)
</td>
<td>
@Html.ActionLink("Edit", "Index", new { id = item.CID }) |
<a href="#" onclick="confirmDelete('@Url.Content("~/Customer/Delete/" + item.CID)')">Delete</a>
</td>
</tr>
}
}
else
{
<tr><td colspan="4" style="text-align:center; color:#d92424">NO RECORD FOUND</td></tr>
}
</tbody>
</table>
First add this partial view in the share folder
@model Alert
<div class="modal fade" id="successModal" data-keyboard="false" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Alert Message</h4>
</div>
<div class="modal-body">
@Html.DisplayFor(m => m.Message)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary focusedButton" data-dismiss="modal">Ok</button>
</div>
</div>
</div>
</div>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript">
$('#successModal').modal('show')
$('body').keypress(function (e) {
if (e.which === 13) {
$(".focusedButton").trigger('click');
}
});
</script>
Again add this partial view in the share folder
<div class="modal fade" id="deleteModal" data-keyboard="false" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel">Confirmation Message</h4>
</div>
<div class="modal-body">
Do you want to delete it. ?
</div>
<div class="modal-footer">
<a id="deleteConfirm" href="#" class="btn btn-primary" style="width:80px">Yes</a>
<button type="button" class="btn btn-primary focusedButton" data-dismiss="modal" style="width:80px">No</button>
</div>
</div>
</div>
</div>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript">
var x = $('#deleteModal');
function confirmDelete(url) {
$("#deleteConfirm").attr("href", url);
x.modal('show')
}
$('body').keypress(function (e) {
if (e.which === 13) {
$(".focusedButton").trigger('click');
}
});
</script>
MVC5 way :
C# code :
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class EMP
{
[Key]
public int EID { get; set; }
[MaxLength(50)]
public string NAME { get; set; }
public string ADDRESS { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class EMPVM
{
public int EID { get; set; }
[Required(ErrorMessage ="Name should not be blank.")]
public string NAME { get; set; }
[DataType(DataType.MultilineText)]
[Required(ErrorMessage = "Address should not be blank.")]
public string ADDRESS { get; set; }
public string MESSAGE { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class AppDbContext:DbContext
{
public AppDbContext():base("Con")
{
// Database.SetInitializer(new DropCreateDatabaseAlways<AppDbContext>());
}
public DbSet<EMP> Emps { get; set; }
public DbSet<DEPT> Depts { get; set; }
public DbSet<COUNTRY> Countries { get; set; }
}
}
--
Add connection string in web.confic file
<connectionStrings>
<add name="con" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;database=MicrosoftMvc;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
---
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MicrosoftStyleMVC.Models;
using System.Threading.Tasks;
using System.Data.Entity;
namespace MicrosoftStyleMVC.Controllers
{
public class EmpController : Controller
{
private static string message;
[HttpGet]
public ActionResult Index(int? id)
{
EMPVM eMPVM = new EMPVM();
EMP emp = null;
if (id > 0)
{
using (AppDbContext obj = new AppDbContext())
{
emp = obj.Emps.Find(id);
eMPVM.EID = emp.EID;
eMPVM.NAME = emp.NAME;
eMPVM.ADDRESS = emp.ADDRESS;
}
}
if (!string.IsNullOrEmpty(message))
{
eMPVM.MESSAGE = message;
message = null;
}
else
eMPVM.MESSAGE = null;
return View(eMPVM);
}
[HttpPost]
[ValidateAntiForgeryToken()]
public async Task<ActionResult> Index(EMPVM vm)
{
EMP emp = new EMP();
using (AppDbContext obj = new AppDbContext())
{
if (vm.EID > 0)
{
emp = obj.Emps.Find(vm.EID);
emp.NAME = vm.NAME;
emp.ADDRESS = vm.ADDRESS;
obj.Entry(emp).State = EntityState.Modified;
await obj.SaveChangesAsync();
message = "Data Updated Successfully.";
}
else
{
emp.NAME = vm.NAME;
emp.ADDRESS = vm.ADDRESS;
obj.Entry(emp).State = EntityState.Added;
await obj.SaveChangesAsync();
message = "Data Saved Successfully.";
}
}
return RedirectToAction("Index", new { id = 0 });
}
[HttpGet]
[ChildActionOnly]
public ActionResult List()
{
using (AppDbContext obj = new AppDbContext())
{
return View(obj.Emps.ToList());
}
}
[HttpGet]
public async Task<ActionResult> Delete(int id)
{
using (AppDbContext obj = new AppDbContext())
{
obj.Entry(obj.Emps.Find(id)).State = EntityState.Deleted;
await obj.SaveChangesAsync();
message = "Data Deleted Successfully.";
return RedirectToAction("Index");
}
}
}
}
--
Index view :
@model MicrosoftStyleMVC.Models.EMPVM
@using MicrosoftStyleMVC.Models
@{
ViewBag.Title = "Index";
}
<div class="row">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@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.HiddenFor(m=>m.EID)
@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.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-offset-2 col-md-10">
<input type="submit" value="Submit" class="btn btn-primary" style="width:80px" />
<input type="reset" value="Reset" class="btn btn-primary" style="width:80px" />
</div>
</div>
</div>
}
</div>
<div class="row">
@Html.Action("List")
</div>
@{Html.RenderPartial("ConfirmPV"); }
@{
if(Model.MESSAGE!=null)
{
@Html.Partial("AlertPV", new Alert() { Message=Model.MESSAGE })
}
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
C# code :
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class EMP
{
[Key]
public int EID { get; set; }
[MaxLength(50)]
public string NAME { get; set; }
public string ADDRESS { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class EMPVM
{
public int EID { get; set; }
[Required(ErrorMessage ="Name should not be blank.")]
public string NAME { get; set; }
[DataType(DataType.MultilineText)]
[Required(ErrorMessage = "Address should not be blank.")]
public string ADDRESS { get; set; }
public string MESSAGE { get; set; }
}
}
--
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace MicrosoftStyleMVC.Models
{
public class AppDbContext:DbContext
{
public AppDbContext():base("Con")
{
// Database.SetInitializer(new DropCreateDatabaseAlways<AppDbContext>());
}
public DbSet<EMP> Emps { get; set; }
public DbSet<DEPT> Depts { get; set; }
public DbSet<COUNTRY> Countries { get; set; }
}
}
--
Add connection string in web.confic file
<connectionStrings>
<add name="con" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;database=MicrosoftMvc;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
---
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MicrosoftStyleMVC.Models;
using System.Threading.Tasks;
using System.Data.Entity;
namespace MicrosoftStyleMVC.Controllers
{
public class EmpController : Controller
{
private static string message;
[HttpGet]
public ActionResult Index(int? id)
{
EMPVM eMPVM = new EMPVM();
EMP emp = null;
if (id > 0)
{
using (AppDbContext obj = new AppDbContext())
{
emp = obj.Emps.Find(id);
eMPVM.EID = emp.EID;
eMPVM.NAME = emp.NAME;
eMPVM.ADDRESS = emp.ADDRESS;
}
}
if (!string.IsNullOrEmpty(message))
{
eMPVM.MESSAGE = message;
message = null;
}
else
eMPVM.MESSAGE = null;
return View(eMPVM);
}
[HttpPost]
[ValidateAntiForgeryToken()]
public async Task<ActionResult> Index(EMPVM vm)
{
EMP emp = new EMP();
using (AppDbContext obj = new AppDbContext())
{
if (vm.EID > 0)
{
emp = obj.Emps.Find(vm.EID);
emp.NAME = vm.NAME;
emp.ADDRESS = vm.ADDRESS;
obj.Entry(emp).State = EntityState.Modified;
await obj.SaveChangesAsync();
message = "Data Updated Successfully.";
}
else
{
emp.NAME = vm.NAME;
emp.ADDRESS = vm.ADDRESS;
obj.Entry(emp).State = EntityState.Added;
await obj.SaveChangesAsync();
message = "Data Saved Successfully.";
}
}
return RedirectToAction("Index", new { id = 0 });
}
[HttpGet]
[ChildActionOnly]
public ActionResult List()
{
using (AppDbContext obj = new AppDbContext())
{
return View(obj.Emps.ToList());
}
}
[HttpGet]
public async Task<ActionResult> Delete(int id)
{
using (AppDbContext obj = new AppDbContext())
{
obj.Entry(obj.Emps.Find(id)).State = EntityState.Deleted;
await obj.SaveChangesAsync();
message = "Data Deleted Successfully.";
return RedirectToAction("Index");
}
}
}
}
--
Index view :
@model MicrosoftStyleMVC.Models.EMPVM
@using MicrosoftStyleMVC.Models
@{
ViewBag.Title = "Index";
}
<div class="row">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@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.HiddenFor(m=>m.EID)
@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.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-offset-2 col-md-10">
<input type="submit" value="Submit" class="btn btn-primary" style="width:80px" />
<input type="reset" value="Reset" class="btn btn-primary" style="width:80px" />
</div>
</div>
</div>
}
</div>
<div class="row">
@Html.Action("List")
</div>
@{Html.RenderPartial("ConfirmPV"); }
@{
if(Model.MESSAGE!=null)
{
@Html.Partial("AlertPV", new Alert() { Message=Model.MESSAGE })
}
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
List View :
@model IEnumerable<MicrosoftStyleMVC.Models.EMP>
@{
ViewBag.Title = "List";
Layout = null;
}
<table class="table table-bordered table-condensed table-hover table-responsive table-striped" >
<thead class="bg bg-primary">
<tr>
<th>
@Html.DisplayNameFor(model => model.NAME)
</th>
<th>
@Html.DisplayNameFor(model => model.ADDRESS)
</th>
<th>ACTION</th>
</tr>
</thead>
<tbody>
@{
if (Model.Count() > 0)
{
foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.NAME)
</td>
<td>
@Html.DisplayFor(modelItem => item.ADDRESS)
</td>
<td>
@Html.ActionLink("Edit", "Index", new { id = item.EID }) |
<a href="#" onclick="confirmDelete('@Url.Content("~/Emp/Delete/" + item.EID)')">Delete</a>
</td>
</tr>
}
}
else
{
<tr><td colspan="3" class="text-danger text-center">No Record(s) Found.</td></tr>
}
}
</tbody>
</table>
No comments:
Post a Comment