我在 Umbraco
中设置了一个文档类型,并为此文档类型创建了一个自定义 Controller 和模型。
自定义 Controller 继承自:RenderMvcController
类, View 通过 @inherits Umbraco.Web.Mvc.UmbracoViewPage<com.something.model>
继承模型
这一切都适用于任何 HttpGet 请求。但是,一旦我想使用@using (Html.BeginUmbracoForm("SomeAction", "SomeController", null, new { @class = "some-class" }))
将表单发回 Controller
我收到以下错误消息:在 Controller 名称 SomeController 的 RouteTable 中找不到 Surface Controller 路由
从我能够找到的所有文档中,当涉及到表单帖子时,它总是指 SurfaceControllers。有没有办法更改路由,以便它可以发布到我的自定义 Controller ,而不是从 SurfaceController
类继承的另一个 Controller ?
最佳答案
根据 http://our.umbraco.org/forum/developers/api-questions/38662-(v6)-Could-not-find-a-Surface-controller-route-error?p=0 ,SomeController
需要继承自 SurfaceController
,而不是 RenderMvcController
。
或者,您可以创建一个专用路由并将其直接指向您的 Controller :
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute("someController", "some/someAction",
new { controller = "Some", action = "SomeAction" });
}
}
关于c# - 在 Umbraco 中使用 RenderMvcController POST 数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25549252/