asp.net - 如何从_Layout.cshtml页面隐藏页面上的特定元素

标签 asp.net asp.net-mvc

我从事 mvc 5 项目。

在我的 _Layout.cshtml我有一个名为 id="topBar" 的 html 元素此元素显示在每个页面中。

但是我有一个名为 About.cshtml 的页面我不希望这个页面只显示元素 id="topBar" _Layout.cshtml 中的所有其他 html 元素我希望它们在 About.cshtml 中正常显示.

知道如何实现上述外观吗?

最佳答案

实现此目的的一种简单方法(不使用 javascript)是在 ViewBag 中设置一个值。在您的左右Action并在这样的布局中使用它:

_Layout.cshtml

@if (ViewBag.ShowTopBar ?? false)
{
    <div id="topBar">

    </div>
}

您的内部操作 Controller :
public class MyAwesomeController : Controller
{

    public ActionResult About()
    {
        ViewBag.ShowTopBar = true;
        return View();
    }

}

关于asp.net - 如何从_Layout.cshtml页面隐藏页面上的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42389341/

相关文章:

ajax - 以ajax形式编码特殊字符(asp mvc)

c# - ViewBag、ViewData、TempData、Session - 如何以及何时使用它们?

c# - 有没有更好的方法从 web.config 中获取正确的模块部分?

c# - 如何在 C# 的 Web 应用程序中从服务器加载图像

asp.net - ASMX服务可在开发服务器上使用,在部署到IIS 7.5时返回404

c# - 为什么我的 ASP.NET Web 服务不能启动进程,但我的 .NET 控制台应用程序可以?

c# - MVC 5 C#将错误报告回数据库

asp.net-mvc - REST API 嵌套资源应该由哪个 Controller 处理?

html - 使 Html Generic Control 跨越整个单元格,即使它是空的

c# - 在编辑器模板 (MVC 5) 中访问远程验证属性