Порядок маршрутов MVC 2 AreaRegistration

<Button 
   x:Name="btnMain"
   Command="infra:ApplicationCommands.MyCommand"
   CommandParameter="{Binding}" 
/>

, пока кнопка находится в визуальном дереве элемента с DataContext

12
задан Jason 28 October 2009 в 20:41
поделиться

2 ответа

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

Например, вместо маршрута по умолчанию {controller} / {action} / {id} можно заменить его конкретными маршрутами для каждого контроллера. Или добавьте ограничение к этому маршруту по умолчанию.

Мы обдумываем варианты, позволяющие упорядочивать, но мы не хотим чрезмерно усложнять эту функцию.

7
ответ дан 2 December 2019 в 03:22
поделиться

Помимо того, что сказал HACKED, это очень можно заказать регистрацию области (и, следовательно, их маршруты). Все, что вам нужно сделать, это зарегистрировать каждую область вручную, в любом порядке. Это не так гладкий, как звонит в систему Reginallareas (), но это определенно выполнимо.

protected void Application_Start() {
    var area1reg = new Area1AreaRegistration();
    var area1context = new AreaRegistrationContext(area1reg.AreaName, RouteTable.Routes);
    area1reg.RegisterArea(area1context);

    var area2reg = new Area2AreaRegistration();
    var area2context = new AreaRegistrationContext(area2reg.AreaName, RouteTable.Routes);
    area2reg.RegisterArea(area2context);

    var area3reg = new Area3AreaRegistration();
    var area3context = new AreaRegistrationContext(area3reg.AreaName, RouteTable.Routes);
    area3reg.RegisterArea(area3context);
}

Другой вариант - взять код для регистра ALLALLARAREA (), скопируйте его в свое собственное приложение и создайте свой собственный механизм для определения порядка. Довольно немного кода, чтобы скопировать, если вы хотите, чтобы вся неожиданная логика кэширования встроенный метод делает, но ваше приложение может даже этого не понадобиться.

30
ответ дан 2 December 2019 в 03:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: