1211 / 1000 / 257
Регистрация: 15.06.2012
Сообщений: 3,878
1

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

29.07.2014, 12:42. Показов 1495. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2014, 12:42
Ответы с готовыми решениями:

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

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

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

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

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

C#
1
@Html.RouteLink("Link", new { area = "Admin", controller = "Home", action="Index" ... }, null);
0
1211 / 1000 / 257
Регистрация: 15.06.2012
Сообщений: 3,878
29.07.2014, 15:32  [ТС] 3
mishau, тоже самое, читайте внимательней, проблема не в переходе в конкретный Area (с этим проблем как раз нет нигде), а с выходом на внешний общий (дефолтный) уровень. Мне нужно нечто @Html.RouteLink("Link", new { area = string.Empty, controller = "Home", action="Index" ... }, null); но работающее.
0
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
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
1211 / 1000 / 257
Регистрация: 15.06.2012
Сообщений: 3,878
29.07.2014, 17:41  [ТС] 5
Цитата Сообщение от mishau Посмотреть сообщение
А что мешает вместо String.Empty написать "Default"?
тем что не работает?
0
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
29.07.2014, 17:50 6
Могу исходник работающий кинуть.
0
1211 / 1000 / 257
Регистрация: 15.06.2012
Сообщений: 3,878
29.07.2014, 19:09  [ТС] 7
Цитата Сообщение от mishau Посмотреть сообщение
Могу исходник работающий кинуть.
Окей, вот НЕ работающий пример
Вложения
Тип файла: zip testareasredirect.zip (3.78 Мб, 2 просмотров)
0
134 / 130 / 107
Регистрация: 17.03.2009
Сообщений: 364
29.07.2014, 19:52 8
Лучший ответ Сообщение было отмечено Wolfdp как решение

Решение

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

Старый код я закомментарил.
Вложения
Тип файла: zip testareasredirect2.zip (3.80 Мб, 6 просмотров)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2014, 19:52
Помогаю со студенческими работами здесь

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

Что именно здесь нужно найти?
Мне нужно написать программу, которая находит наибольший и наименьший элементы ряда и среднее...

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

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

Пишу курсовую подшепните что именно здесь нужно???
Нужно описать совокупность научных методов, технических и программных средст, используемых при...

Что нужно дописать , чтобы файл сохранялся именно в указанной заранее папке?
AssignFile(myFileF, 'D:\Тест\Результат\edit2.text'); rename(myFileF,n1); ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru