我在控制器中使用ASP.NET MVC 5属性路由。
[RoutePrefix("ControllerName")]
public class MyController : Controller
{
[Route("ActionName")]
public ActionResult Index()
{
return View();
}
}
当我尝试像这样获取url(Controller.Url)
时Url.Action("Index", "My")
我得到了
/我/索引
当我在View(它是WebViewPage.Url)中执行相同操作时,
@Url.Action("Index", "My")
我得到了
/ ControllerName / ActionName
如何实现/ ControllerName / ActionName?
答案 0 :(得分:2)
如果你想从其他控制器构建url,你需要像这样使用UrlHelper类:
var urlHelper = new UrlHelper(ControllerContext.RequestContext);
var url = urlHelper.Action("Index", "My");
这将构建您想要的结果:/ ControllerName / ActionName
答案 1 :(得分:0)
试试这个:
Url.Action("Index", "My")
您需要在 Controller 之前仅使用部分作为控制器名称。对视图中的@Url.Action
执行相同的操作。