在返回之前检查视图是否存在或文件夹

时间:2017-01-09 06:49:33

标签: c# asp.net asp.net-mvc

我有一个小软件,它通过将参数发布到控制器并根据以下内容返回视图来获取参数:

 if (TempData[Main.SELF_DEPOSIT_LAYOUT] != null && TempData[Main.SELF_DEPOSIT_LAYOUT] is SelfDepositInit)
        {
            var mainLayout = TempData[Main.SELF_DEPOSIT_LAYOUT] as SelfDepositInit;
            Session["layoutSelfDeposit"] = mainLayout.Layout;
            return View("~/Views/SelfDeposit/" + Session["layoutSelfDeposit"] + "/" + this.ControllerContext.RouteData.Values["action"].ToString() + ".cshtml", model);
        }

我的问题是如果发布值的人发送的值不正确并且视图/文件夹不存在? 在这种情况下,我想提交一个默认文件夹。

如何实现?

1 个答案:

答案 0 :(得分:2)

 private bool ViewExists(string name)
 {
     ViewEngineResult result = ViewEngines.Engines.FindView(ControllerContext, name, null);
     return (result.View != null);
 }

在此方法中提供视图名称以检查视图是否存在,如果它返回null值,则将其重定向为默认值