Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Wolfdp
886 / 793 / 205
Регистрация: 15.06.2012
Сообщений: 3,127
Записей в блоге: 1
Завершенные тесты: 1
1

Как именно в методах расширения указать, что переходить нужно именно главный контроллер?

29.07.2014, 12:42. Просмотров 901. Ответов 7
Метки нет (Все метки)

В проекте есть несколько Areas. Маршрутизация нстроена так (для наглядности сократил)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.MapRoute(
                name: "Admin",
                url: "Admin/{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Admin", id = UrlParameter.Optional }
            );
 
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
если по вьюхе в Admin прописать адрес через хелпер, например Html.ActionLink("Link", "Index", "Home", new { Areas = "" }, new {}), то автоматически сгенерит вот это: Admin/Home/Index?Areas=%f2. Просто жесткое задание ссылки плана "/Home/Index" решает проблему, но не удобно. Как именно в методах расширения указать, что переходить нужно именно главный контроллер?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2014, 12:42
Ответы с готовыми решениями:

Как указать параметр ячейки - что он именно 'текст'?
у меня в отчет в виде Ecel листа Response.ContentType = 'application/vnd.ms-excel' вываливается...

Как указать методу WebAPI контроллера, что именно он будет использоваться для ответа на какой-либо запрос?
В общем, суть такова : 1. Есть родительский контроллер, который сам по себе web-методов в явном...

Как узнать что это именно страница пользователя?
В моем приложении будет что то похожее на социальную сеть. Значит пользователь регистрируется, и у...

Как в скрипте указать какой именно файл нужно проигрывать?
Здравствуйте, подскажите пожалуйста есть мячик и он реагирует на столкновение с другимим обьектами...

Как указать что это именно константа?
Есть констант штук 10 Хочу вывести нужную echo CONST_.$n; И вместо значения выводит CONST_1...

7
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
29.07.2014, 15:26 2
Мне кажется тут лучше использовать RouteLink, где можно явно задать имя маршрута:

C#
1
@Html.RouteLink("Link", new { area = "Admin", controller = "Home", action="Index" ... }, null);
0
Wolfdp
886 / 793 / 205
Регистрация: 15.06.2012
Сообщений: 3,127
Записей в блоге: 1
Завершенные тесты: 1
29.07.2014, 15:32  [ТС] 3
mishau, тоже самое, читайте внимательней, проблема не в переходе в конкретный Area (с этим проблем как раз нет нигде), а с выходом на внешний общий (дефолтный) уровень. Мне нужно нечто @Html.RouteLink("Link", new { area = string.Empty, controller = "Home", action="Index" ... }, null); но работающее.
0
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
29.07.2014, 17:40 4
А что мешает вместо String.Empty написать "Default"?

C#
1
@Html.RouteLink("Link", "Default", new { controller="Home", action="Index"} )
или
C#
1
@Html.RouteLink("Link", new { area = "Default", controller="Home", action="Index"} )
0
Wolfdp
886 / 793 / 205
Регистрация: 15.06.2012
Сообщений: 3,127
Записей в блоге: 1
Завершенные тесты: 1
29.07.2014, 17:41  [ТС] 5
Цитата Сообщение от mishau Посмотреть сообщение
А что мешает вместо String.Empty написать "Default"?
тем что не работает?
0
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
29.07.2014, 17:50 6
Могу исходник работающий кинуть.
0
Wolfdp
886 / 793 / 205
Регистрация: 15.06.2012
Сообщений: 3,127
Записей в блоге: 1
Завершенные тесты: 1
29.07.2014, 19:09  [ТС] 7
Цитата Сообщение от mishau Посмотреть сообщение
Могу исходник работающий кинуть.
Окей, вот НЕ работающий пример
0
Вложения
Тип файла: zip testareasredirect.zip (3.78 Мб, 2 просмотров)
mishau
128 / 126 / 105
Регистрация: 17.03.2009
Сообщений: 359
29.07.2014, 19:52 8
Лучший ответ Сообщение было отмечено Wolfdp как решение

Решение

Я тут подправил немного, на локалке работает.

Старый код я закомментарил.
1
Вложения
Тип файла: zip testareasredirect2.zip (3.80 Мб, 3 просмотров)
29.07.2014, 19:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2014, 19:52

Как открыть файл именно нужного расширения?
Вот у меня есть код, в нем только проверка на удачное открытие. А вот как добавить проверку на то,...

Как в коде указать именно четные элементы массива
Люди подскажите плз - как в коде указать именно четные элементы массива??

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru