gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 中是否存在 View ?

转载 作者:行者123 更新时间:2023-12-03 04:57:23 27 4
gpt4 key购买 nike

是否可以在渲染 View 之前确定 Controller 内是否存在特定的 View 名称?

我需要动态确定要渲染的 View 的名称。如果存在具有该名称的 View ,那么我需要渲染该 View 。如果自定义名称没有 View ,那么我需要渲染一个默认 View 。

我想在我的 Controller 中执行类似于以下代码的操作:

public ActionResult Index()
{
var name = SomeMethodToGetViewName();

// The 'ViewExists' method is what I've been unable to find.
if (ViewExists(name))
{
retun View(name);
}
else
{
return View();
}
}

最佳答案

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

对于那些寻找复制/粘贴扩展方法的人:

public static class ControllerExtensions
{
public static bool ViewExists(this Controller controller, string name)
{
ViewEngineResult result = ViewEngines.Engines.FindView(controller.ControllerContext, name, null);
return (result.View != null);
}
}

关于asp.net-mvc - ASP.NET MVC 中是否存在 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/946990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com