如何在mvc.net web应用程序中从jquery(在自定义视图页面中)调用controller post actio



我正在使用.net mvc和jquery创建一个用于事件管理的web应用程序。我创建了一个名为SeatPlansController和模型SeatPlanes的mvc web app.contoler,并且我能够将数据插入数据库。但我无法使用mvc控制器将数据从jquery传递到数据库。

我的控制器操作代码如下所示

//获取:座位计划/创建public ActionResult Create(){return View();}//POST:座位计划/创建//为了防止过度托管攻击,请为启用要绑定到的特定属性//更多详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=317598.[HttpPost][ValidateAntiForgeryToken]public ActionResult Create(字符串seat_id,字符串seat_no){int id=10;SeatPlans S=新的SeatPlanes();S.seat_id=seat_id;S.seat_no=seat_no;if(ModelState.IsValid){数据库。座椅平面图添加;数据库。SaveChanges();//return RedirectToAction("索引");}return视图(S);}

在创建后,控制器Id是主键,所以我想传递seat_idseat_no作为参数,它应该更新数据库。

我使用了以下javascript

function getPerson(id) {
    $.ajax({
        type: "GET",
        url: '@Url.Action("create", "SeatPlanesController")',
        contentType: "application/json; charset=utf-8",
        data: {eat_id :6, seat_no:8},
        dataType: "json",
        success: function (result) {
            alert(result);
            //window.locationre = result.url;
        }
    });
}

我能够使用运行create-get方法

http://localhost:52348/SeatPlans/Create

但是我如何直接从带有参数的浏览器运行post方法类似的东西

http://localhost:52348/SeatPlans/Create/2/3t/e

我已经更改了如下脚本,它适用于GET方法,但如果我使用TYPE:"post",它会弹出一个带有警报的警报框"localhost:52348说:内部服务器错误"

$(文档).ready(函数(){$("按钮")。单击(函数(){$.ajax({类型:"POST",contentType:"application/json;charset=utf-8",url:'@url.Action("创建","座位计划",new{Area="})',数据:{seat_id:"34",seat_no:"98"},dataType:"json",async:false,成功:函数(结果){$("#div1").html(结果);},错误:函数(abc){alert(abc.statusText);},});});});

最后我得到了解决方案我把剧本改成下面的

//jQuery.noConflict();//var$j=jQuery.noConflict();函数clickevent(){var form=$("#frm");var token=$('input[name="__RequestVerificationToken"]',form).val();$.ajax({类型:"post",//headers:{"__RequestVerificationToken":令牌},url:'@url.Action("创建","座位计划")',数据:{seat_id:"34",seat_no:"98"},成功:函数(结果){$("#div1").html(结果);}});}

并将创建后的方法更改为以下

<pre>

    public ActionResult Create(String seat_id, String seat_no)
    {
        int id = 10;
        SeatPlans S = new SeatPlans();
        S.seat_id = seat_id;
        S.seat_no = seat_no;
        if (ModelState.IsValid)
        {

            db.SEATPLAN.Add(S);
            db.SaveChanges();
          //  return RedirectToAction("Index");
        }
        return View(S);
    }

最新更新