Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
AxeleronhVostt, skyANA, в общем не ругайтесь. Если ТСу нужны 3 экшн метода с одинаковым именем Action, но разной сигнатурой, то 100% верное решение от skyANA, если такого строгого условия нет, то решение более верное у hVostt'а. Даже если имена самих экшенов менять нельзя хз по каким причинам, нужно использовать RouteAttribute. Селектор нужен для других целей, для более сложной стратегии принятия решения в выборе экшена, и даже в этом случае это говорит о плохом дизайне и надо по возможности искать другое решение. Т.е. это костыль, когда ни вправо ни влево — никуда и приходится вертеться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 14:33 |
|
||
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
hVosttskyANAА в той постановке, что указал ТС, следует использовать своего наследника ActionMethodSelectorAttribute. авторЕсть контроллер Documents и в нем 3 действия Action() Action(int id) Action(string x) Как заставить MVC вызывать нужные действия на контроллере? Как уже не пробовал - все одно: неоднозначность... Может я чего-то не понимаю, но тогда объясни, как эту постановку можно понять таким образом, что надо привлекать селектор, а не маршрутизатор? Именно в такой постановке задача решается через маршрутизацию. Для чего нужен селектор? Ты предлагаешь написать свою реализацию класса, и использовать кастомный атрибут, вместо того, чтобы воспользоваться штатными средствами, специально для этого предназначенными, без написании лишнего, ненужного кода. Для чего? Ты всегда так делаешь?Ты походу по психотипу своему 1-й Логик :) У ТС дано три метода с одинаковым названием и разной сигнатурой . Одинаковым названием. Одинаковым. :) Возникает ошибка: Ambiguous action method call. Ошибка эта исправляется без изменения названия методов реализацией и использованием наследника от ActionMethodSelectorAttribute. Относительно вопроса: "Ты всегда так делаешь?". Нет я так не делаю. Обычно я чётко формулирую задачу и обсуждаю её, а не сначала пишу код из трёх методов с одинаковым названием. P.S.: для интереса можешь погуглить: "Ambiguous action method call + ActionMethodSelectorAttribute". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 14:55 |
|
||
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
Добрый день, господа! Оба правы и не правы одновременно. skyANA - дал верное решение в контексте поставленной задачи, а именно: если 3 метода с разной сигнатурой - то действительно без ActionMethodSelectorAttribute не обойтись. Единственно скорее нужно сделать так: Код: c# 1. Однако Axeleron - тоже прав. Действительно если пойти по пути переименования методов на контроллере - его решение с точки зрения "правильности следования" именно концепции MVC - правильное. Оба решения имеют право на жизнь ибо оба правильные. НО! Следует заметить вот что, если переименовывать методы - мы ведь точно не знаем кто и где их вызывает? Такое в принципе возможно. Я бы с осторожностью отнесся к переименованию чего-либо в большом проекте. Спасибо, Други! Вы очень помогли. ПыСы - пришло понимание маршрутизации )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 16:57 |
|
||
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
skyANAУ ТС дано три метода с одинаковым названием и разной сигнатурой . Одинаковым названием. Одинаковым. :) Возникает ошибка: Ambiguous action method call. Ошибка эта исправляется без изменения названия методов реализацией и использованием наследника от ActionMethodSelectorAttribute. Эта ошибка исправляется БЕЗ создания дополнительного класса, с помощью RouteAttribute, ИЛИ с помощью MapRoute + изменение названия экшенов (причины, по которым нельзя изменить названия самих экшенов мне трудно представить, ведь URL не изменится). Наследник селектора здесь нафиг не нужен. skyANAОбычно я чётко формулирую задачу и обсуждаю её, а не сначала пишу код из трёх методов с одинаковым названием. Ну а насчёт применяемых инструментов как? Берёшь инструменты, подходящие для решения задачи или берёшь что под руку попало? Другими словами, шуруп отвёрткой закручиваешь, или кривым кухонным ножом? Я вот к чему. skyANAP.S.: для интереса можешь погуглить: "Ambiguous action method call + ActionMethodSelectorAttribute". Мне он никогда не был нужен, хотя я знаю о нём. Необходимость в его применении это уже сам по себе факт косяка в архитектуре. При чём косяк очень конкретный! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 19:56 |
|
||
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
ughunterесли 3 метода с разной сигнатурой - то действительно без ActionMethodSelectorAttribute не обойтись Бред. Я уже приводил решение, где прекрасно без него можно обойтись. При чём 2 штуки. ughunterОба решения имеют право на жизнь ибо оба правильные. Задачи с маршрутизацией надо решать средствами маршрутизации, а не хернёй страдать. Сколько уж говорить можна-то. Нет здесь решений с правом на жизнь типа. Есть очень конкретные инструменты для своих задач и правильно -- это использовать подходящие инструменты. ughunterСпасибо, Други! Вы очень помогли. ПыСы - пришло понимание маршрутизации )) Да не за что )) Обращайся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 19:58 |
|
||
|
Помогите составить маршрут
|
|||
|---|---|---|---|
|
#18+
hVosttДругими словами, шуруп отвёрткой закручиваешь, или кривым кухонным ножом? Я вот к чему.Давеча менял смеситель на кухне, так обошёлся разводным ключом, не стал за 100 баксов кулачковый покупать, что идеально подошёл бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2015, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=39105964&tid=1356141]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 377ms |

| 0 / 0 |
