我需要在MVC 4.0中检索views\something文件夹(来自请求)中的单个 View 的名称,但不确定如何做到这一点。

我的代码可以工作,但是它有一种“hacky”的感觉,我希望可以简化一些人。

我的代码如下:

    private FileInfo GetNameOfViewToServe()
    {
        var LeftPartOfUri = Request.Url.GetLeftPart(UriPartial.Authority);
        var folder = Request.Url.AbsoluteUri.Replace(LeftPartOfFolderUri,string.Empty);
        var directory = new DirectoryInfo(Server.MapPath(@"~\Views\" + folder));
        return directory.GetFiles().First();
    }

有没有更优雅的方式来实现这一目标?

最佳答案

从问题ASP.NET-MVC . How to get the controller name from an url?Get ControllerName and ActionName and populate the ViewData in Master Page?尝试此解决方案

var controller = (string)RouteData.Values["controller"];

10-05 21:18
查看更多