Hüs*_*ğlı 5 c# asp.net url asp.net-mvc routes
我有一个ASP.NET MVC Web应用程序,它运行在IIS上的虚拟目录中.在应用程序中,我有一个Action,它接受一个名为Id的参数.
public class MyController : MyBaseController
{
public ActionResult MyAction(int id)
{
return View(id);
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用参数123调用Action时,生成的URL如下所示:
http://mywebsite.net/MyProject/MyController/MyAction/123
Run Code Online (Sandbox Code Playgroud)
在基本控制器中,如何在没有任何参数的情况下优雅地找到Action的URL?我想要的字符串是:/MyProject/MyController/MyAction
关于此问题还有其他问题,但它们不包括这些案例.例如,Request.Url.GetLeftPart
仍然给我Id.
@trashr0x 的答案解决了问题的最大部分,但遗漏了该MyProject
部分,并且不需要字典来构造所询问的字符串。这是一个简单的解决方案:
var result = string.Join("/", new []{
Request.ApplicationPath,
RouteData.Values["controller"],
RouteData.Values["action"]
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6588 次 |
最近记录: |