默认路由的 RedirectToAction 将 URL 留空
RedirectToAction to default route leaves the URL blank
我的路由为:
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/?data=somedata
并且表单具有 /applicationName/
的操作
主要问题出在脚本中的某个地方,动态加载内容,其中 URL 给出为 ../DirName/image.jpg
期望我会出现控制器名称,这也在其他应用程序中使用流动。在这里我得到了一个 404,因为 URL 本应该是
www.mydomain/applicationName/DirName/image.jpg
正在显示
www.mydomain/DirName/image.jpg
有什么简单的解决方法吗?
按照@StephenMuecke 的建议修复了问题。
正确的路由是:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{data}",
defaults: new { controller = "Demo", action = "Index", data= UrlParameter.Optional }
);
现在 URL 显示为:
www.mydomain/applicationName/DirName/image.jpg
我的路由为:
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/?data=somedata
并且表单具有 /applicationName/
主要问题出在脚本中的某个地方,动态加载内容,其中 URL 给出为 ../DirName/image.jpg
期望我会出现控制器名称,这也在其他应用程序中使用流动。在这里我得到了一个 404,因为 URL 本应该是
www.mydomain/applicationName/DirName/image.jpg
正在显示
www.mydomain/DirName/image.jpg
有什么简单的解决方法吗?
按照@StephenMuecke 的建议修复了问题。
正确的路由是:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{data}",
defaults: new { controller = "Demo", action = "Index", data= UrlParameter.Optional }
);
现在 URL 显示为:
www.mydomain/applicationName/DirName/image.jpg