C# 多个Ajax.begin无法使用mvc
我正在使用c mvc删除html表中动态生成的行。我成功地完成了第一次删除。其次,我只能在重新加载页面时删除。这是一次加载时仅发生一次删除。我的问题是什么 局部视图 主视图管理器 控制器 试一试C# 多个Ajax.begin无法使用mvc,c#,ajax,asp.net-mvc-4,C#,Ajax,Asp.net Mvc 4,我正在使用c mvc删除html表中动态生成的行。我成功地完成了第一次删除。其次,我只能在重新加载页面时删除。这是一次加载时仅发生一次删除。我的问题是什么 局部视图 主视图管理器 控制器 试一试 尝试将使用Razor创建按钮id的方式从delete_@i更改为delete_@i,否则所有按钮都将具有相同的id,并且无法按预期工作 i、 e,像这样换行 <input type="submit" value="delete" id="delete_@(i)"/> 我测试了你的.csht
尝试将使用Razor创建按钮id的方式从delete_@i更改为delete_@i,否则所有按钮都将具有相同的id,并且无法按预期工作 i、 e,像这样换行
<input type="submit" value="delete" id="delete_@(i)"/>
我测试了你的.cshtml代码,如下所示,它可以工作。我认为您需要仔细检查控制器中的代码,在Get和Post操作中,您正在创建一个新的db context FoodContext实例。尝试在请求上下文中使用单个实例 模型 _PartialView.cshtml
您是否收到错误消息?或者mydiv只是没有被替换?只有一次它正在删除。没有错误,正如我说的,有一次它正在替换。下次它也没有删除,这不会产生问题。Hi delete_@I正在获取不同的id
<div class="mycontainer">
<div id="mydiv">
@{Html.Action("CartManager","Cart");}
</div>
</div>
public ActionResult CartList()
{
string user = "jaddu";
FoodContext db = new FoodContext();
List<CartListing> fd = (from e in db.FoodItems
join o in db.Carts on e.itemid equals o.itemid
where o.username==user
select new CartListing
{
ItemId=e.itemid,
CartId=o.cartid,
Itemname =e.itemname,
Amount =o.amount,
Price=(float)(e.price*o.amount),
}).ToList();
CartModel vm = new CartModel { CartListings = fd };
return PartialView("_CartListing",vm);
}
[HttpPost]
public ActionResult DeleteCart(int cartid)
{
string user = "jaddu";
FoodContext db = new FoodContext();
Cart car = db.Carts.Single(f => f.cartid == cartid);
db.Carts.DeleteObject(car);
db.SaveChanges();
List<CartListing> fd = (from e in db.FoodItems
join o in db.Carts on e.itemid equals o.itemid
where o.username == user
select new CartListing
{
ItemId = e.itemid,
CartId = o.cartid,
Itemname = e.itemname,
Amount = o.amount,
Price = (float)(e.price * o.amount),
}).ToList();
CartModel vm = new CartModel { CartListings = fd };
return PartialView("_CartListing", vm);
}
using (Ajax.BeginForm("DeleteCart", "Cart", new { cartid = ct.CartId }, new AjaxOptions()
{
HttpMethod = "Post",
OnSuccess = "onSuccess",
UpdateTargetId = "mydiv",
InsertionMode = InsertionMode.Replace,
}, new {id="Form"+i }))
<input type="submit" value="delete" id="delete_@(i)"/>
public class Article
{
public int Id { get; set; }
public string ArticleContent { get; set; }
}
@model IEnumerable<WebApplication6.Models.Article>
<table width="100%">
@foreach (var ct in Model)
{
i = i + 1;
using (Ajax.BeginForm("DeleteArticle", "Home", new { Id = ct.Id }, new AjaxOptions()
{
HttpMethod = "Post",
OnSuccess = "onSuccess",
UpdateTargetId = "mydiv"
}, new { id = "Form" + i }))
{
<tr>
<td style="padding-left:20px;">
@ct.ArticleContent
</td>
<td style="padding-left:20px;">
@ct.Id
</td>
<td>
<input type="submit" value="delete" id="delete_@i" />
</td>
</tr>
}
}
</table>
MyDbContext _db = new MyDbContext();
public ActionResult ArticleList()
{
var vm = _db.Articles.ToList();
return PartialView("_CartListing", vm);
}
[HttpPost]
public ActionResult DeleteArticle(int Id)
{
var a = _db.Articles.Find(Id);
_db.Articles.Remove(a);
_db.SaveChanges();
var vm = _db.Articles.ToList();
return PartialView("_CartListing", vm);
}