【发布时间】:2017-10-12 21:50:12
【问题描述】:
新手开发者在这里,这实际上是我关于堆栈溢出的第一个问题。我的第一个角色是开发人员,我的任务是完成其他人启动的应用程序,当用户单击特定按钮时,我很难刷新页面。
该页面有一个项目列表,每个项目旁边都有一个复选框,用户可以勾选该复选框,然后单击“删除项目”按钮。理论上,单击该按钮应该在完成后刷新页面,或者至少刷新包含列表的页面部分......据我所知。该项目正在被删除,但刷新不起作用,因此用户必须在他们选择删除的项目实际从屏幕上消失之前手动刷新页面。
这是控制器中按钮背后的内容:
[HttpPost]
public ActionResult UpdatePartStatus(List<tblPart> parts, tblArea area)
{
_LookupService.UpdatePartStatus(parts);
// return RedirectToAction("Details", area);
// return Redirect("~/Details");
return RedirectToAction("Parts", "Menu", false);
// <% return Response.Redirect(Request.RawUrl); %>
// return Response.Redirect(Request.RawUrl);
// return Page.Redirect(Page.Request.RawUrl, false);
// return Redirect(Request.UrlReferrer.ToString());
// return View();
// return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
}
注释掉的第一行是前一个开发人员留下的方式。注释掉的所有其他行都是我迄今为止尝试过的东西,但都没有奏效。而没有被注释掉的那个恰好是我在发布之前尝试的最后一个。这些尝试中的大多数都是在堆栈溢出时在这里搜索的结果
下面是详细视图中的脚本:
<script>
$('#btnAjax').click(function () {
....validation code I removed for this post....
$.ajax({
type: 'post',
url: '/Parts/UpdatePartStatus',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data),
dataType: 'json'
})
}
});
</script>
这是我在其他几篇关于此主题的帖子中看到的 MapRoute 代码:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Parts", action = "Menu", id = UrlParameter.Optional }
之前的开发人员在离开之前说的最后一句话是,这都是标准的 MVC,没有什么特别之处,但我的想法已经不多了。
感谢任何人提供的任何想法或建议。
谢谢
【问题讨论】:
-
你试过window.reload();在听者内部?
标签: c# json ajax asp.net-mvc