我正在尝试设置一个全局搜索框,该搜索框将发布到umbraco7中的搜索页面。此模板使用包含指向SurfaceController的Html.BeginUmbracoForm()的共享部分。
因为这是一个全局控件,所以我希望表单发送到/search页面,而不是当前页面。除非我弄错了,否则BeginUmbracoForm似乎只能发布到当前页面。
我想要像RedirectToUmbracoPage(id)这样的东西,但是在重定向时清除这个post值。
有没有办法获得像CurrentUmbracoPage这样的ActionResult来保持post值?
发布于 2015-01-22 16:47:54
我不会尝试使用表面控制器来达到这个目的。自动路由Surfacecontrollers。创建它们的目的是(例如)让@Html.Action(...)在每个umbraco页面上都能正常工作。包括对这些操作或宏的回发。
如果您只需要“重定向”到/search页面,则不需要表面控制器。一个简单的部分就可以完成这项工作。
<form action="/search" method="get">
Search <input type="search" name="q" />
</form>当然,你也可以使用一些or逻辑来替换url,比如@Umbraco.TypedContentSingleAtXPath("//Search")或者其他or逻辑。
在an文档项目中有一个示例,其中Html.Action is used。
https://stackoverflow.com/questions/28058443
复制相似问题