默认路由的 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