У меня есть маршрут как:RedirectToAction маршрут по умолчанию оставляет URL пустой
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Demo", action = "Index", id = UrlParameter.Optional }
);
Маршрутизация работает нормально, но когда я использую перенаправлении как:
return RedirectToAction("Index", "Demo", new { data = "someData" });
Перенаправление работает, но URL отображается как
www.mydomain/ApplicationName /? = данные somedata
и форма есть действие как /applicationName/
Основная проблема находится где-то в сценарии, есть динамическая нагрузка содержания, где URL даются как ../DirName/image.jpg
ожидающим будет меня контроллером имени присутствует, который также находится в использовать в других потоках. Здесь я получаю 404, как URL, который должен был
www.mydomain/ApplicationName/DirName/image.jpg
показывает
www.mydomain/DirName /image.jpg
Есть ли какие-либо легкие обходные пути для этого?
Если вы хотите 'ww.mydomain/applicationName/somedata', тогда это должно быть' new {id = "someData"} '(и имя параметра метода также должно быть названо' id') или изменить определение маршрута на 'url: {контроллер}/{акт ion}/{data} ",' –
И что касается 404, его из-за '.' (точки) в URL-адресе - обратитесь [этот вопрос/ответы] (http://stackoverflow.com/questions/11728846/ dots-in-url-cause-404-with-asp-net-mvc-and-iis) –
Спасибо @StephenMuecke, ваш первый комментарий служит моей цели :) – SamGhatak