Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过调用ajax删除mvc webgrid行?_Javascript_Ajax_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Javascript 如何通过调用ajax删除mvc webgrid行?

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”),但如果删除该

在我的mvc razor视图中,我有一个webgrid数据的局部视图,我需要添加一个actionlink来删除该行数据,这就是我所做的: 这是javascript函数: 函数(pid){

这是webgrid上带有delete函数调用的行 @ActionLink(“Delete”,“deletemine”,“Travel”,new{onclick=“delmeine”(+item.MealID+)”)

上面的代码在操作中链接不起作用,因为我在其中添加了方法(“deletemine”),但如果删除该方法,则会调用javascript函数,但方法(“deletemine”)不会调用。 有谁能帮我把@Html.ActionLink中的上述代码做好吗?非常感谢,

试试这个:

$.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
});