我使用RenderAction渲染遍布我网站的部分内容。
用户可以搜索实体的部分内容。它取决于Controller / Action,它为父主视图提供了在找到实体后所做的工作。
假设我有控制器:
HireController,FireController用 Action ActOnPerson和
带有Action FindPerson的PeopleController,它呈现部分 是FindPerson
视图是租用/ SearchPerson.aspx和Fire / SearchPerson.aspx
每个视图都包含帮助程序:
<%Html.RenderAction("FindPerson ", "People"); %>
发布到HireController / FireController的表单包含在partial中。 它需要这样,因为实际上有一些步骤(表格帖子)涉及找人。
如果表单需要发布到FireController或HireController,有没有办法在部分FindPerson内部做出决定?我想我正在寻找像WebControls的公共属性但是对于RenderAction。
答案 0 :(得分:2)
只需将参数(“PostTo”或“Next”)添加到People.FindPerson操作:
<% Html.RenderAction("FindPerson ", "People", new { next = Url.Action("ActOnPerson", "HireController") }); %>
<!-- or -->
<% Html.RenderAction("FindPerson ", "People", new { nextaction = "ActOnPerson", nextcontroller = "HireController" }); %>
在FindPerson PartialView中:
<form method="post" action="<%= ViewData["next"].ToString() %>">
<!-- or -->
<% using (Html.BeginForm(
ViewData["nextaction"].ToString(), ViewData["nextcontroller"].ToString() ) { %>