如何基于MVC中的控制器在共享布局中隐藏元素

use*_*050 3 javascript asp.net-mvc html5 twitter-bootstrap

我在页面首页的顶部有一个引导导航栏,其内部是文本输入。我希望它隐藏起来,直到执行搜索并且用户在results控制器中看到结果为止。

这是在我的引导导航栏中。

<input type="text" class="form-control" placeholder="Search">
Run Code Online (Sandbox Code Playgroud)

例如:

Hidden:  www.example.com/home/index
Visible: www.example.com/results
Run Code Online (Sandbox Code Playgroud)

Kyl*_*Mit 5

在这种情况下,您实际上不需要将任何特定信息从控制器传递到共享布局。

共享的布局可以检查当前路线并相应地表现。

@if (ViewContext.RouteData.Values["Controller"].ToString() == "results")
{
    <input type="text" class="form-control" placeholder="Search">
}
Run Code Online (Sandbox Code Playgroud)

更多信息