HttpException:在控制器上找不到公共操作方法“ ListCheckListType”

时间:2019-07-10 08:41:57

标签: asp.net-mvc asp.net-mvc-partialview httpexception

我检查了所有解决方案,但仍然无法正常工作。我在布局页面中看到了部分视图页面,当ı仅运行部分页面时,它起作用了,但是当我运行具有布局的另一个页面时,它却不起作用。

希望你能帮助我

这是我的模特:

    public CheckListType CheckListType { get; set; }
    public IEnumerable<SelectListItem> CheckListTypeList1 { get; set; }

还有我的控制器:

    public ActionResult ListCheckListType()
    {
        ControlListTypeModel listTypeModel = new ControlListTypeModel();
        List<SelectListItem> CheckListTypeList = new List<SelectListItem();
        foreach (CheckListType item in checklisttypeRepository.List().ProcessResult)
        {
            CheckListTypeList.Add(new SelectListItem { Value = item.CheckListTypeId.ToString(), Text = item.CheckListType1 });
        }
        listTypeModel.CheckListTypeList1 = CheckListTypeList;
        return PartialView("~/Areas/User/Views/CheckList/ListCheckListType.cshtml", listTypeModel);
    }

查看:

    @using TodoListApp.Areas.User.Models.ViewModel
    @model ControlListTypeModel
 <form action="/CheckList/ListCheckListType" method="get">
 <div>
    CheckListType :
 </div>

 <div>
    @Html.DropDownListFor(modelitem=>modelitem.CheckListType.CheckListTypeId,Model.CheckListTypeList1)
    <button type="button" class="butt button bg-info" style="height:40px; width:98px;">Choose CheckListType</button>
</div>

布局:

  <div class="container body-content">
    @Html.Action("ListCheckListType");

    @RenderBody(){
    }

    <hr />
    <footer>
        <p> @DateTime.Now.Year </p>
    </footer>
</div>

HttpException:在控制器上找不到公共操作方法'ListCheckListType'

1 个答案:

答案 0 :(得分:1)

之所以会出现问题,是因为它在部分视图中呈现时在错误的控制器中搜索了ListCheckListType动作。指定控制器名称也应该解决该异常

@Html.Action("ListCheckListType", "Home"); //if action is in HomeController