Javascript 如何通过调用ajax删除mvc webgrid行?
在我的mvc razor视图中,我有一个webgrid数据的局部视图,我需要添加一个actionlink来删除该行数据,这就是我所做的: 这是javascript函数: 函数(pid){ 这是webgrid上带有delete函数调用的行 @ActionLink(“Delete”,“deletemine”,“Travel”,new{onclick=“delmeine”(+item.MealID+)”) 上面的代码在操作中链接不起作用,因为我在其中添加了方法(“deletemine”),但如果删除该方法,则会调用javascript函数,但方法(“deletemine”)不会调用。 有谁能帮我把@Html.ActionLink中的上述代码做好吗?非常感谢,试试这个:Javascript 如何通过调用ajax删除mvc webgrid行?,javascript,ajax,asp.net-mvc,asp.net-mvc-4,Javascript,Ajax,Asp.net Mvc,Asp.net Mvc 4,在我的mvc razor视图中,我有一个webgrid数据的局部视图,我需要添加一个actionlink来删除该行数据,这就是我所做的: 这是javascript函数: 函数(pid){ 这是webgrid上带有delete函数调用的行 @ActionLink(“Delete”,“deletemine”,“Travel”,new{onclick=“delmeine”(+item.MealID+)”) 上面的代码在操作中链接不起作用,因为我在其中添加了方法(“deletemine”),但如果删除该
$.ajax({
type: "POST",
url: '/Travel/DeleteMeal'
data: {
productId:pid
},
dataType: "json",
success: function(json) {
if(!json.error)
$("#grid").load('Url which Send data to This grid');
}
error: errorFunc
});
然后查看您的DeleteDine操作是否已调用或未更新。我认为razor视图中的代码必须更改,您知道如何更改吗?我尝试了您的代码,我得到了“成功”弹出窗口,我可以看到记录已从SQL表中删除,但我的页面重新访问了不存在的新站点:请求的URL:/Travel/DeleteDine with“找不到资源。”,这是因为我根本不删除膳食视图,但它仍然直接指向它。URL为:“”,删除后,我想查看当前页面(razor视图)仍然停留在那里,但包含已删除记录的webgrid将在删除后用行刷新。知道如何修复它吗?我认为razor视图中的代码应该更改,请让我知道如何使其工作,@Html.ActionLink(“删除”、“删除餐”、“旅行”,新的{onclick=“delmean”(+item.MealID+))由于控制器方法是由ajax代码调用的,因此我认为应该将其从ActionLink中删除,因此我尝试了以下方法:@Html.ActionLink(“Delete1”),“”,“”,new{onclick=“delmeine”(+item.MealID+”)),这一次,没有错误,但是页面返回到主页,这不是我想要的,我希望它保持在当前页面上,刷新的webgrid是包含更新的webgrid数据的部分视图。知道如何修复它吗?我还将JsonReult更改为ActionResult,并更改了返回重定向(HttpContext.Request.urlReferer.AbsoluteUri);或将这些代码添加到FINtravelID=product.FINtravelID;FINtravel-FINtravel=new-FINtravel();FINtravel=db.FINtravels.Find(FINtravelID);返回PartialView(“_MealPartial”,FINtravel);但没有运气。
public JsonResult DeleteMeal(Int32 productId)
{
//NWDataContext db = new NWDataContext();
Meal product = db.Meals.Where(x => x.MealID == productId).FirstOrDefault();
db.Meals.Remove(product);
db.SaveChanges();
return Json(true, JsonRequestBehavior.AllowGet);
}
$.ajax({
type: "POST",
url: '/Travel/DeleteMeal'
data: {
productId:pid
},
dataType: "json",
success: function(json) {
if(!json.error)
$("#grid").load('Url which Send data to This grid');
}
error: errorFunc
});