Как вы себе представляете работу такой строки?
Код вида <%=Html.ActionLink("SomeController", "SomeAction")%>
говорит "создать ссылку, при открытии которой отработает метод SomeAction контроллера SomeController.
А какой метод должен отработать в вашем случае?
Чтобы было еще понятнее — в MVC в отличие от ASP.NET следует думать не в терминах Page.aspx, которую нужно открыть
а в терминах Controller/Action/Route. И в общем случае в зависимости от настроенных маршрутов путь вида http:\\page1\page2\page3
может мапиться на любой метод любого контроллера.
Можете конечно сделать так:
routes.MapRoute(
"Default",
"{*path}", // Grap whole relative path of query string into path variablenew { controller = "Test", action = "Test", path="/" }
public ActionResult Test(string path)
{
//TODO: какая-то логика поиска View по путиreturn View(test);
}
Но в общем случае, когда логика поиска View нетривиальна, то пишут свою реализацию IViewEngine.
Как мне в Asp.net mvc (не используя базу данных) реализовать древовидную структуру.
Например административное деление какого нибудь региона России, чтобы каждой административной единице соответсвовала своя папка в которой хранятся вьюхи
Здравствуйте, RushDevion, Вы писали:
Спасибо попробую RD> (хотя зачем тут MVC ?):
Так уж получилось что часть функционала необходимо так реализовать. Но в остальном мне все нравится (пока!!!)в MVC
А что вы тогда посоветуете. Делать на WebForms?. Тогда зачем вообще нужен MVC если нет никакой гибкости?
B>А что вы тогда посоветуете. Делать на WebForms?. Тогда зачем вообще нужен MVC если нет никакой гибкости?
Ну мне сложно советовать предметно, учитывая, что задачу вы описали очень примерно.
Я вообще считаю, что следует подбирать инструмент под задачу, а не наоборот — где то MVC подойдет больше, где-то WebForms.
А в случае view-only иерархии субъектов РФ — проще вообще обойтись статичным HTML
RD>Ну мне сложно советовать предметно, учитывая, что задачу вы описали очень примерно.
Мне необходимо чтобы была возможность реализовать любую задачу.
А насчет описания задачи, то конечного результата я и сам не знаю (какие возможности предется реализовать в будущем), но
конечно не стоит ограничиваться только просмотром, и редактировать тоже гдето придется.
А вообще задача очень распространенная. Например сайты опреаторов сотовй связи. У них присутствует административное деление
и для каждой административной единицы они добавляют свой (любой) функционал. Например тарифы для разных регионов могут отличатся и по названию и по цене и т.д.
В общем случае задача сводится к написанию движка, который поддерживает иерархию категорий, каждая из которых содержит некоторое количество страниц.
Здесь, думаю, стоит смотреть в сторону готовой CMS. Вот здесь есть большой список с описанием. Там и на WebForms, и на MVC, многие — с открытым кодом.
Советую начать с Blog Engine .NET (WebForms) и Oxite (MVC) — это движки блогов, а не CMS, но весь нужный функционал там есть, а для понимания — проще.