![](/img/trans.png)
[英]Add form to umbraco v6 pure razor view to call surface controller action passing ID
[英]Umbraco surface controller inside v6 project
我已經在我的Umbraco應用程序(v6)中實現了Surface控制器,但是它不起作用。
這是簡單的Hello World類:
public class MySurfaceController : Umbraco.Web.Mvc.SurfaceController
{
[HttpGet]
public ActionResult Index()
{
return Content("hello world");
}
}
不幸的是,每當我訪問它時,都會收到HTTP 404錯誤。 我嘗試了以下網址:
我的Global.asax繼承自Umbraco.Web.UmbracoApplication
有沒有人對我可能做錯了什么有任何建議?
謝謝
這里有幾件事:
您不再需要結束控制器“SurfaceController”的名稱,只需從SurfaceController
繼承即可。
此外,您不需要路徑前綴/Umbraco/surface/
/my/
,如果您的控制器被稱為MyController
,您應該能夠在/my/
上訪問Index()動作。
編輯:
假設您要從控制器提供頁面,則需要修改web.config AppSetting條目以包含控制器的路徑
<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/my" />
您還需要從global.asax注冊專門為您的控制器設置的路由:
routes.MapRoute(
name: "Default",
url: "my/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
重要的是,這是特定於您的控制器,因為您不希望它覆蓋任何Umbraco路由。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.