Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC在Post上的渲染操作_C#_Asp.net Mvc 4 - Fatal编程技术网

C# MVC在Post上的渲染操作

C# MVC在Post上的渲染操作,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我有一个页面调用另一个局部视图。页面加载正常,但当出现验证错误时,它似乎多次调用post方法 导致问题的代码如下所示: <div> @{Html.RenderAction("ViewUploadedDocs", "TrackingHome", new { number = @Model.Id.ToString() });} </div> 它没有用[HttpGet]或[HttpPost]装饰。不断被调用的方法位于页面的post方法下方 [HttpPost]

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

导致问题的代码如下所示:

<div>
    @{Html.RenderAction("ViewUploadedDocs", "TrackingHome", new { number = @Model.Id.ToString() });}
</div>
它没有用[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调用指定的子操作方法,并在父视图中内联呈现结果(它调用该操作)。如果需要传递当前ViewDataDictionary对象,则应使用RenderPartial;如果需要将指定视图呈现为HTML编码字符串,则应使用Partial。

问题中没有足够的信息来调试此操作。您还希望看到哪些其他信息?我不确定。。。。这是个问题。这感觉像是只有你和完全可以访问你的代码的人才能解决的问题。这可能就是为什么你几乎没有观点,没有答案,也没有评论(除了我的)。对不起,你有没有试过Html.Renderpartial或Html.partial?如果你对这个问题有一个最低限度的复制,它可能会有所帮助,可以完全发布。另外,似乎这可能是一个路由问题?因此,您的控制器和路由可以帮助解决该问题。
    [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);
    }