c# - 帖子上的 MVC 渲染操作

标签 c# asp.net-mvc-4

我有一个调用另一个局部 View 的页面。页面加载正常,但是当出现验证错误时,它似乎多次调用 post 方法。

导致问题的代码在这里:

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

这应该在 Controller 中调用以下方法。

    public ActionResult ViewUploadedDocs(string number)
    {
        return PartialView();
    }

它没有用 [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);
    }

我在 stackoverflow 上读过,人们让页面调用他们试图获取的 post 方法,但我调用的是我的主页的 post 方法,而不是我试图获取的页面。如果我删除主页面中的 renderAction 行,那么页面会正常工作,并且操作不会调用其中的编辑页面。

最佳答案

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

关于c# - 帖子上的 MVC 渲染操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36801527/

相关文章:

c# - 转换为数字的单词表示

c# - 在没有 NativeMethods 的情况下,如何找到给定 hWnd 的窗口的位置/位置?

asp.net-mvc-4 - 无法连接到 SQL Server 数据库

c# - 获取 ASP.NET MVC 中的角色列表

javascript - 有没有办法在 MVC 中的 View 上使用 ajax 调用来使用新信息刷新页面?

c# - 代码优先迁移中的固定长度字符串列

c# - 使用 .NET CORE 3.1 进行 SFTP 下载

c# - 使用 HTMLNode 的 foreach 循环中的 NullReferenceException 错误

.net - 自定义注释 Asp.Net MVC 4 的客户端验证

asp.net-mvc - MVC 中的异步链接?