Asp.net MVC学习日记十(JQuery删除)

本文详细介绍了如何在ASP.NET MVC中实现产品管理功能,包括获取产品列表、显示产品详情以及删除产品的操作。通过自定义Product类和ProductRepository类,实现了产品的增删查功能,并在Index页面上展示了产品列表,同时提供了方便的删除链接,通过JavaScript实现了确认删除的交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Product和ProductRepository是必须的

public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public string Description { get; set; }
public DateTime CreateDate { get; set; }
}

public class ProductRepository
{
public List<Product> GetProducts()
{
List<Product> result = Builder<Product>
.CreateListOfSize(20).WhereAll()
.Build()
.ToList();

//do the paging
return result;
}

public Product GetProduct(int productId)
{
Product product =
Builder<Product>.CreateNew().With(x => x.ProductId =
productId).Build();
return product;
}
}

2、HomeController的Index修改

public ActionResult Index()
{
ViewData["Message"] = "欢迎使用 ASP.NET MVC!";
ViewData["Products"] = new ProductRepository().GetProducts();
return View();
}

3、HomeController添加Delete

[HttpPost]
public ActionResult Delete(int id)
{
//perform delete logic on your data
return View();
}

4、Index.aspx中

<script type="text/javascript">
$(document).ready(function () {
$('a.delete').click(function () {
var doDelete = confirm('Are you sure you want to delete this record?');
if (doDelete) {
var url = this.href.replace('Confirm', '');
var arr = url.split('/');
var id = arr[arr.length - 1];
$('div.busy' + id).html("Deleting...");
$.post(url, '',
function () {
$('div.container' + id).animate({
opacity: 0.25,
left: 'toggle',
height: 'toggle'
}, 1000, function () {
$('div.' + id).hide();
});
});
return false;
}
else { return false; }
});
});
</script>
<fieldset>
<legend>Products</legend>
<% List<Product> products = ViewData["Products"] as List<Product>; %>
<% foreach (Product p in products)
{ %>
<div class="container<%= p.ProductId %>">
<div class="busy<%= p.ProductId %>">
<%= Html.ActionLink("Delete", "ConfirmDelete", new {@id=p.ProductId}, new {@class="delete"}) %></div>
<div class="display-label">
ProductId</div>
<div class="display-field">
<%= Html.Encode(p.ProductId) %></div>
<div class="display-label">
Name</div>
<div class="display-field">
<%= Html.Encode(p.Name) %></div>
<div class="display-label">
Price</div>
<div class="display-field">
<%= Html.Encode(String.Format("{0:c}", p.Price)) %></div>
<div class="display-label">
Description</div>
<div class="display-field">
<%= Html.Encode(p.Description) %></div>
<div class="display-label">
CreateDate</div>
<div class="display-field">
<%= Html.Encode(String.Format("{0:g}", p.CreateDate)) %></div>
<hr />
</div>
<% } %>
</fieldset> <script type="text/javascript">
$(document).ready(function () {
$('a.delete').click(function () {
var doDelete = confirm('Are you sure you want to delete this record?');
if (doDelete) {
var url = this.href.replace('Confirm', '');
var arr = url.split('/');
var id = arr[arr.length - 1];
$('div.busy' + id).html("Deleting...");
$.post(url, '',
function () {
$('div.container' + id).animate({
opacity: 0.25,
left: 'toggle',
height: 'toggle'
}, 1000, function () {
$('div.' + id).hide();
});
});
return false;
}
else { return false; }
});
});
</script>
<fieldset>
<legend>Products</legend>
<% List<Product> products = ViewData["Products"] as List<Product>; %>
<% foreach (Product p in products)
{ %>
<div class="container<%= p.ProductId %>">
<div class="busy<%= p.ProductId %>">
<%= Html.ActionLink("Delete", "ConfirmDelete", new {@id=p.ProductId}, new {@class="delete"}) %></div>
<div class="display-label">
ProductId</div>
<div class="display-field">
<%= Html.Encode(p.ProductId) %></div>
<div class="display-label">
Name</div>
<div class="display-field">
<%= Html.Encode(p.Name) %></div>
<div class="display-label">
Price</div>
<div class="display-field">
<%= Html.Encode(String.Format("{0:c}", p.Price)) %></div>
<div class="display-label">
Description</div>
<div class="display-field">
<%= Html.Encode(p.Description) %></div>
<div class="display-label">
CreateDate</div>
<div class="display-field">
<%= Html.Encode(String.Format("{0:g}", p.CreateDate)) %></div>
<hr />
</div>
<% } %>
</fieldset>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值