0

场景:我有一个视图(我们称它为Index.cshtml)将表单发布到控制器操作(我们称它为GetWorkList)。

GetWorkList运行,然后返回一个局部视图WorkReport。之后,用户可以通过ModifyDuration操作修改和保存一些数据,这些数据又应该返回GetWorkList(与我上面提到的相同)。然后部分视图按应有的方式更新,但我收到一条错误消息:Error loading page在页面完全加载之前消失。

我应该怎么做才能没有此错误消息?

控制器代码:

  [HttpGet]
    public ActionResult Index()
    {
        return View();
    }

    [HttpGet]
    public PartialViewResult GetWorkList(string date)
    {
     .....instructions
       return PartialView("WorkReport", model);
    }

      [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult ModifyDuration(string newDuration, string id, string date)
    {
       .....instructions
      return RedirectToAction("GetWorkList", new
        {
            date = date
        });
    }

浏览器提示的错误:

Mozilla错误

4

1 回答 1

2

如果没有看到您的视图,很难具体说明,但看​​起来错误是因为您正在从作为 POST 请求的一部分呈现的视图中调用部分视图(get 请求成功,而 post 请求失败)。我在您的控制器代码中看不到任何建议您在 Post 请求中呈现视图的内容,但我想不出更好的解释。例如:

[HttpPost]
public ActionResult DoSomething() 
{
    ...
    return View(Index);
}

在你的里面Index.cshtml

@Html.Action("GetWorkList")

这是一个例子,我可以看到它以同样的方式失败。因为视图是在 post 请求的上下文中呈现的,所以部分视图也作为 post 请求而不是 get 被调用。

于 2013-01-29T03:19:37.877 回答