如何在视图中获取当前的动作名称

Ali*_*zra 5 c# asp.net-core

在_Layout页面上,我有一个搜索表单,每个控制器都有一个索引视图。当用户单击搜索按钮时,它将在当前索引视图中进行搜索。

如果用户是索引视图,我想显示搜索字段,如果他们转到其他视图,我想隐藏它。

在我的_Layout中

 <form asp-action="Index" method="get" class="navbar-form form-inline navbar-right">
        <input class="form-control mr-sm-2" id="search" name="search" type="search" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0"  id="BtnSearch" name="BtnSarch" type="submit">Search</button>
    </form>
Run Code Online (Sandbox Code Playgroud)

我目前正在使用JQuery,但很难放置每个视图

    $("#search").hide();
    $("#BtnSearch").hide();
Run Code Online (Sandbox Code Playgroud)

基本上,在我的_Layout页面中,如果用户在索引视图中,我想显示或隐藏“搜索”表单。请问如何在_Layout视图中获取当前视图名称?

Nan*_* Yu 3

基本上,在我的 _Layout 页面中,如果用户位于索引视图中,我想显示或隐藏搜索表单。

尝试使用以下代码:

@if ("Index".Equals(ViewContext.RouteData.Values["Action"].ToString()))
{
    <form asp-action="Index" method="get" class="navbar-form form-inline navbar-right">
        <input class="form-control mr-sm-2" id="search" name="search" type="search" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" id="BtnSearch" name="BtnSarch" type="submit">Search</button>
    </form>
}
Run Code Online (Sandbox Code Playgroud)