为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉丁的传说 2018-08-20 10:09:18
问题场景见下面的示例代码:public class ErrorsController : Controller{    public IActionResult StatusCodePage(int? statusCode)    {        bool viewExists = false;        //TODO:检查对应于statusCode的视图文件是否存在         return viewExists ? View(statusCode.Value) : View("Default");     } } 请问如何实现?
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

通过 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");
    }
}


查看完整回答
反对 回复 2018-09-09
  • 1 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信