Поскольку я новичок в Umbraco, я не совсем понял механизмы маршрутизации, которые, похоже, имеют.создать ссылку на SurfaceController в Umbraco
У меня есть пользовательский контроллер поверхности myProject.Controllers.CompanySurfaceController
с функцией getCompanyList()
и getCompany(int companyId)
.
Основная идея состоит в том, чтобы получить список компаний из db, сделать частичный вид с классическими <a>
ссылками на функцию getCompany(..)
и получить/отобразить эту компанию из db.
Все работает отлично, за исключением одного: я не могу понять, как создать ссылки на дочернее действие контроллера! <a>
! У меня нет проблем, включая дочерние действия в частичных представлениях при POSTing и использовании Html.Action.
Я попытался @Html.ActionLink
и других помощников, но ближе всего я получаю, это ссылка на /umbraco/Surface/CompanySurface/Company
, который не работает, конечно, и не включает в себя идентификатор параметра (например Company/3
).
Я также попытался поставить контроллеры в пространство имен umbraco/Surface
без везения (и это не представляется необходимым).
Что мне здесь не хватает?
Спасибо за помощь! Мое приложение, вероятно, в конечном итоге будет иметь тысячи компаний, поэтому не имеет смысла иметь узел на компанию, даже если он даст действительно чистый вид. Я не понимаю «взлом», который вы упомянули. MVC имеет стандартные маршруты как '{controller}/{action}/{id}' и не является прямой ссылкой? Как я понимаю из связанного с этим вопроса, Umbraco имеет только маршрутизацию для узлов контента (включая пользовательские контроллеры), но если '@ html.action (« myaction »,« mycontroller », params)' может найти свой путь, почему я тогда не возможность ссылки на/mycontroller/myaction/param? – lape
Нужно ли нам создавать собственный код маршрутизации или расширения для простых не-umb-данных? – lape
Нет, нет. Вы можете сбросить весь код в своем представлении. – dampee