Переписывание маршрута в asp.net mvc - PullRequest
0 голосов
/ 09 сентября 2009

Мне очень трудно понять маршрутизацию.

Пожалуйста, помогите мне с этой проблемой.

Каждый из моих контроллеров выполняет эти три действия прямо сейчас

У пользователей есть индекс, создание и редактирование

Места имеют индекс, создание и редактирование

У компаний есть индекс, создание и редактирование

Дело в том, что все это делается через ajax.

У меня есть вкладки JQuery UI с двумя вкладками для каждого, Создать и изменить Таким образом, метод Index всегда вызывается для ссылок действий. и внутри этого основного представления вы можете вызывать (нажав на значок вкладки) другие методы, которые возвращают представление ajax, которое выводится на вкладку jQuery (надеюсь, это понятно)

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

Сейчас все отлично работает. Но мои URL ужасны. Чтобы перейти к методу создания для пользователей, я должен перейти по этому URL

http://localhost/Users/Index/1
http://localhost/Users/Index/2

Я хочу, чтобы поведение этих ссылок было переназначено на эти ссылки

http://localhost/Users/Create
http://localhost/Users/Edit

Таким образом, даже если кажется, что вы вызываете метод Create контроллера, вы на самом деле всегда вызываете метод Index .... (я знаю, как преобразовать Create в «1» и Edit в два, так что не беспокойся об этой части

Надеюсь, это понятно.

Заранее спасибо

Edit:

Просто осознал, что это может быть невозможно, потому что тогда, когда мне действительно нужно вызывать методы (с помощью ajax), он не будет знать, что делать .... я прав?

1 Ответ

0 голосов
/ 09 сентября 2009

Не видя действия вашего контроллера, вы сможете добавить маршрут примерно так:

routes.MapRoute("myroute","users/{option}",new {controller="Users",action="Index"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...