MVC对帖子进行渲染操作

Nat*_*ate 5 c# asp.net-mvc-4

我有一个页面可以调用另一个局部视图。该页面可以很好地加载,但是当出现验证错误时,它似乎多次调用了post方法。

导致问题的代码在这里:

<div>
    @{Html.RenderAction("ViewUploadedDocs", "TrackingHome", new { number = @Model.Id.ToString() });}
</div>
Run Code Online (Sandbox Code Playgroud)

这应该在控制器中调用以下方法。

    public ActionResult ViewUploadedDocs(string number)
    {
        return PartialView();
    }
Run Code Online (Sandbox Code Playgroud)

它没有用[HttpGet]或[HttpPost]装饰。不断被调用的方法是页面的post方法。

    [HttpPost]
    [MultipleButton(Name = "action", Argument = "Save")]
    public ActionResult Edit(EditScreenModelValidation model)
    {
        if (ModelState.IsValid)
        {
            return RedirectToAction("UserWorkflows", "Home", new { Area = "Workflow" });
        }
        return View("Edit", model);
    }
Run Code Online (Sandbox Code Playgroud)

我已经读过stackoverflow,那里的人们在调用他们试图获取的post方法的页面,但是我正在调用我的主页而不是我试图获取的页面的post方法。如果我在主页上删除了renderAction行,则该页面可以正常工作,并且该操作不会在其中调用“编辑”页面。

小智 0

RenderAction 调用指定的子操作方法并在父视图中内联渲染结果(它调用操作)。如果需要传递当前 ViewDataDictionary 对象,则应使用 RenderPartial;如果需要将指定视图呈现为 HTML 编码字符串,则应使用 Partial,具体取决于您要完成的任务。