尝试从 ASP.NET Core MVC Razor 中的_Layout 页面重定向时出错

Error when trying to redirect from _Layout page in ASP.NET Core MVC Razor

我是 .NET Core 的新手,曾使用过旧的 .NET 版本,例如 Windows 表单。我在我的 _Layout 页面中设置了一个导航栏,我想用它重定向到其他 Razor 页面。

例如,我的 Views 文件夹中名为 Home 的文件夹中有一个 Home 页面 (index.cshtml)。如果我想 select 导航栏中的客户搜索选项,我会使用调用下面函数的 onclick 事件。

function SearchClick() {
    window.location.href = "CustomerSearchView.cshtml";
    return false;
}

CustomerSearchView 位于 ViewsHome 文件夹下的 CustomerSearch 文件夹中。还有一个 CustomerSearchController 代码

public IActionResult Index()
{
    return View();
}

如果我尝试将路径添加到浏览器中,例如 https://localhost:7022/CustomerSearchView.cshtml,我会收到错误消息

This localhost page can’t be found - no webpage was found for the web address: https://localhost:7022/CustomerSearchView.cshtml

我尝试了各种使用完整路径的变体 Views/CustomerSearch 和其他人,但得到了同样的错误。

我不熟悉路由程序,我不确定我犯了什么错误,我认为这样可以节省时间,如果有人能指出来我会很高兴。

试试这个

function SearchClick() {
    window.location.href = "/CustomerSearch/Index";
    return false;
}

我通过更正路由并将以下代码添加到我的 program.cs

来解决问题
app.MapControllerRoute(
    name: "customersearch",
    pattern: "{controller=CustomerSearchController}/{action=Index}/{id?}",
    defaults: new { controller = "CustomerSearchController", action = 
"Index" });

添加任何带有控制器的新视图时,只需为其添加等效的路由代码,使其对项目可见。