如何在MVC中处理相对路由?

时间:2015-03-14 00:41:52

标签: asp.net-mvc asp.net-mvc-4 kendo-ui asp.net-mvc-routing

我是MVC的新手,我的系统中有一条特定路线,默认为:

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

现在,由于它默认为Employee / Index,因此localhost://和localhost:// Employee / Index都将转到相同的默认页面位置。到现在为止还挺好。现在,

我有一些方法可以通过一些KendoUI Tab Control点击动态调用部分视图,代码如下所示:

tabstrip.Add()
  .Text("Details")
  .Selected(true)
  .LoadContentFrom("Employee/ShowEmployeeProfileInfo/" + @Model);

就Localhost://而言,它工作得很好。但是,当我在localhost / Employee / Index上时,它不起作用,因为它试图浏览到locahost / employee / Employee / ShowEmployeeProfileInfo(注意到两个"路由中的员工?")

我认为我配置路径的方式有问题,或者可能是我浏览它的方式。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你错过了领先的正斜线。它必须是"/Employee/ShowEmployeeProfileInfo...,但建议您使用@Url.Action()生成链接

.LoadContentFrom('@Url.Action("ShowEmployeeProfileInfo", "Employee", new { id = Model })');