我正在尝试设置一个全局搜索框,用于发布到umbraco 7中的搜索页面。此模板使用包含指向SurfaceController的Html.BeginUmbracoForm()的共享部分。
由于这是一个全局控件,我希望将表单发布到/ search页面而不是当前页面。 BeginUmbracoForm似乎只能发布到当前页面,除非我弄错了。
我想要像RedirectToUmbracoPage(id)这样的东西,但是在重定向上清除了这个帖子的值。
有没有办法让CurrentResult像CurrentUmbracoPage一样保留帖子值?
答案 0 :(得分:0)
我不会尝试使用表面控制器来达到这个目的。 Surfacecontrollers会自动路由。它们被创建为(例如)使@Html.Action(...)
在每个umbraco页面上工作。包括对这些操作或宏的回发。
如果您只需要“重定向”到/搜索页面,则不需要表面控制器。一个简单的部分将完成这项工作。
<form action="/search" method="get">
Search <input type="search" name="q" />
</form>
当然,您可以使用某些Umbraco逻辑替换网址,例如@Umbraco.TypedContentSingleAtXPath("//Search")
或其他Umbraco魔法。
在umbraco文档项目中有Html.Action is used。
的示例