我正在使用 Sitecore 7,在我当前遇到问题的页面中,我有一个带有两个控制器渲染的布局 (cshtml)。
两个控制器渲染映射到不同的控制器动作但使用相同的控制器。因此,控制器渲染 A 映射到控制器“搜索”、操作“ProductSearch”,控制器渲染 B 映射到控制器“搜索”、操作“客户搜索”
“搜索”控制器中有 4 个方法。
- 返回查看结果的“ProductSearch”
- 设置了处理表单提交的 HttpPost 属性的“ProductSearch”
- 正在返回查看结果的“CustomerSearch”
- 设置了处理表单提交的 HttpPost 属性的“CustomerSearch”
这就是表格的写法
@using(Html.BeginRouteForm(Sitecore.Mvc.Configuration.MvcSettings.SitecoreRouteName,FormMethod.Post))
{
@Html.Sitecore().FormHandler()
//form fields here
}
当我提交其中一个表单时,我注意到两个控制器操作都已执行,这不是我所期望的。
如果我然后将控制器呈现表单处理程序之一更改为
@using(Html.BeginRouteForm(Sitecore.Mvc.Configuration.MvcSettings.SitecoreRouteName,FormMethod.Post))
{
@Html.Sitecore().FormHandler("search","customersearch")
//form fields here
}
然后只调用一个控制器操作,但页面仅呈现该控制器操作的视图结果
有什么我想念的吗?