猿问

ASP.NET Core 中如何通过视图名称检查对应的视图是否存在

问题场景见下面的示例代码:

public class ErrorsController : Controller{    public IActionResult StatusCodePage(int? statusCode)    {        bool viewExists = false;        //TODO:检查对应于statusCode的视图文件是否存在
        return viewExists ? View(statusCode.Value) : View("Default");
    }
}
请问如何实现?


拉丁的传说
浏览 720回答 1
1回答

缥缈止盈

通过 ICompositeViewEngine.FindView() 解决了public class ErrorsController : Controller{    public IActionResult StatusCodePage(int? statusCode, [FromServices]ICompositeViewEngine compositeViewEngine)    {        bool viewExists = statusCode.HasValue &&             compositeViewEngine.FindView(ControllerContext, statusCode.Value.ToString(), true).Success;                        return viewExists ? View(statusCode.Value.ToString()) : View("Default");     } }
随时随地看视频慕课网APP
我要回答