UrlMapping :: View атрибут в сопоставленном блоке игнорируется - PullRequest
0 голосов
/ 02 августа 2011

Учитывая URI / admin / article / index, почему это отображение URL не работает?

"/admin/$controller/$action?/$id?"{ 
        view = "/admin/index" // no dice, ignored 
        //action = "foo" // uncommented, this is picked up 
} 

Я бы хотел, чтобы все административные контроллеры использовали представление администратора по умолчанию (и не нужно отображать представление в каждом действии каждого контроллера). То же самое касается "/ account / $ controller / ..." и любого другого модуля сайта, который должен использовать общий вид.

Возможно, есть другой способ добиться этого, но предполагается, что UrlMappings - это место, где это можно сделать ...

1 Ответ

1 голос
/ 02 августа 2011

Похоже, вы пытаетесь сделать что-то очень отличное от того, что вы написали.

У вас уже есть сопоставление action в сопоставлении базового URL, и представление автоматически выбирается на основе controllerпоэтому вам необходимо определить различные сопоставления для тех представлений, у которых нет контроллера, и еще одно сопоставление для элементов с действием по умолчанию foo.Действие по умолчанию для контроллеров - index, поэтому, как правило, нет необходимости указывать действие по умолчанию без указания контроллера.

Я думаю, что вы, как правило, неправильно понимаете, как работает инфраструктура MVC.Контроллер не должен ничего визуализировать, а представления должны быть специфичны для контроллера / действия.Если несколько контроллеров отображают одно и то же представление, я бы поспорил, что либо контроллер отображает HTML, либо представление слишком сложное.

Вы должны изучить Макеты с SiteMesh , который позволяет создавать структуры шаблонов по умолчанию, а затем просто изменять конкретное содержимое с помощью представлений.

...