RedirectToAction到默认路由将URL留空

时间:2016-02-23 08:03:22

标签: asp.net-mvc asp.net-mvc-routing

我的路由为:

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 /目录名/ image.jpg的

正在显示

  

www.mydomain /目录名/ image.jpg的

这有什么简单的解决方法吗?

1 个答案:

答案 0 :(得分:0)

按照@StephenMuecke的建议修复了问题。

路由中的正确信息是:

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{data}",
            defaults: new { controller = "Demo", action = "Index", data= UrlParameter.Optional }
);

现在,URL显示为:

  

www.mydomain /的applicationName /目录名/ image.jpg的