【发布时间】:2013-06-25 05:22:34
【问题描述】:
我正在使用 Sitecore 7,在我当前遇到问题的页面中,我有一个带有两个控制器渲染的布局 (cshtml)。
两个控制器渲染映射到不同的控制器动作但使用相同的控制器。因此控制器渲染 A 映射到控制器“搜索”、操作“ProductSearch”,控制器渲染 B 映射到控制器“搜索”、操作“客户搜索”
“搜索”控制器中有 4 个方法。
- “ProductSearch”返回查看结果
- “ProductSearch”设置了处理表单提交的 HttpPost 属性
- “CustomerSearch”返回查看结果
- “CustomerSearch”设置了处理表单提交的 HttpPost 属性
这就是表单的编写方式
@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
}
然后只有一个控制器动作被调用,但页面只呈现来自该控制器动作的视图结果
这里有什么我想念的吗?
【问题讨论】:
标签: asp.net-mvc sitecore sitecore7 sitecore-mvc