我使用Sitecore 7,在我目前有問題的頁面中,我有一個使用兩個控制器渲染的佈局(cshtml)。Sitecore mvc在同一頁面處理多個表單
兩個控制器渲染映射到不同的控制器動作,但使用相同的控制器。因此控制器渲染A被映射到控制器「搜索」,動作「ProductSearch」並且控制器渲染B被映射到控制器「搜索」,動作「CustomerSearch」
「搜索」控制器有4種方法。
- 「產品搜索」,這是返回的視圖結果
- 「產品搜索」與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
}
那麼只有一個控制器動作被調用,但該頁面只呈現從控制器操作
中的ViewResult是有什麼,我想念這裏?