加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – MVC在Post上渲染动作

发布时间:2020-12-15 20:59:27 所属栏目:百科 来源:网络整理
导读:我有一个页面调用另一个局部视图.页面加载正常,但是当出现验证错误时,它似乎多次调用post方法. 导致问题的代码在这里: div @{Html.RenderAction("ViewUploadedDocs","TrackingHome",new { number = @Model.Id.ToString() });}/div 这应该在控制器中调用以下
我有一个页面调用另一个局部视图.页面加载正常,但是当出现验证错误时,它似乎多次调用post方法.

导致问题的代码在这里:

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

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

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调用指定的子操作方法,并在父视图中内联呈现结果(它调用操作).如果需要传递当前的ViewDataDictionary对象,则应使用RenderPartial,如果需要将指定的视图呈现为HTML编码的字符串,则应使用“部分”,具体取决于您要完成的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读