У меня есть следующий маршрут:
context.MapRoute
(
"PersonArea_tripleInt",
"PersonArea/{controller}/{action}/{int1}/{int2}/{int3}",
new { controller = "Person", action = "Index" }, new { int1 = new IntConstraint(), int2 = new IntConstraint(), int3 = new IntConstraint() }
);
Я использую в своем контроллере, как это:
RoleListUrl = Url.Action("RoleList", "Person", new { Area = "PersonArea" }),
Чтобы создать этот URL: "/ PersonArea / Person / RoleList"
На мой взгляд, у меня есть выпадающие списки, которые будут заполнять значения int1, int2 и int3. Я использую JavaScript в клиенте, чтобы заполнить оставшуюся часть URL:
"/ PersonArea / Person / RoleList / 12 / 43/76"
Это прекрасно работает в первый раз, но когда страница перезагружается, старые значения (12, 43, 76) повторно используются при создании базового URL в моем контроллере. Итак, когда пользователь взаимодействует с выпадающими списками, на клиенте создается следующий URL:
"/ PersonArea / Person / RoleList / 12/43 / 76/88 / 154/78"
Как получить Url.Action, чтобы игнорировать старые значения (12, 43, 76) при последующих публикациях на сервере, чтобы клиент мог создать правильный URL-адрес? Вместо этого я прибегаю к жесткому кодированию базового URL ("/ PersonArea / Person / RoleList /") в контроллере.
Я просто хочу, чтобы контроллер каждый раз создавал "/ PersonArea / Person / RoleList" и позволял клиенту заполнять остальные параметры.
Чего мне не хватает? Спасибо.