Ajax.begin结束错误(500(内部服务器错误)
我有个问题 我使用bootstrap modalpoup来删除元素。 单击delete时,使用Com坚定delete show的模式。如果单击submit按钮delete方法已完成,但在开发人员工具(chrome)显示错误(500(内部服务器错误))和阴影层没有隐藏的modalpopup中。我不确定创建方法的程度如何。当我更改Actions时,控制器将无效,方法delete()无返回值模态行为正常,但包含我的元素的表没有刷新。我在AjaxOptions中使用UpdateTargetId,但modalpopup中的阴影没有隐藏,UpdateTargetId呈现整个页面。我不知道应该返回什么控制器方法Delete() 控制器:Ajax.begin结束错误(500(内部服务器错误),ajax,asp.net-mvc,twitter-bootstrap,Ajax,Asp.net Mvc,Twitter Bootstrap,我有个问题 我使用bootstrap modalpoup来删除元素。 单击delete时,使用Com坚定delete show的模式。如果单击submit按钮delete方法已完成,但在开发人员工具(chrome)显示错误(500(内部服务器错误))和阴影层没有隐藏的modalpopup中。我不确定创建方法的程度如何。当我更改Actions时,控制器将无效,方法delete()无返回值模态行为正常,但包含我的元素的表没有刷新。我在AjaxOptions中使用UpdateTargetId,但mod
[HttpPost]
public ActionResult Delete(int id)
{
_facade.Delete(id);
return RedirectToAction("Index", _controllerName);
}
视图:
@使用(Ajax.BeginForm(“Delete”、ViewData[“controllerName”].ToString(),新建
{
id=@Convert.ToInt32(ViewData[“RouteValue”])
},
新选择
{
HttpMethod=“POST”,
OnSuccess=“$('#删除元素id').modal('hide');”
}))
{
@Html.AntiForgeryToken()
}
你的POST方法毫无意义-它有返回RedirectToAction()
但是你使用的是Ajax.BeginForm()
,它永远不会重定向(Ajax的全部目的是保持在同一页面上。)如果我将Delete方法更改为返回void和Delete RedirectToAction()),页面上的元素没有刷新。我厌倦了使用UpdateTargetId,但后面的阴影我的模型没有hidde。我的删除方法应该是什么类型,它是否应该使用UpdateTargetId?还有什么解决方案?
@using (Ajax.BeginForm("Delete", ViewData["controllerName"].ToString(), new
{
id = @Convert.ToInt32(ViewData["routeValues"])
},
new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "$('#delete-element-id').modal('hide');"
}))
{
@Html.AntiForgeryToken()
<input type="submit" value="Delete" class="btn btn-danger" />
}