微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在href链接中重复的导航操作?

如何解决在href链接中重复的导航操作?

我有一个.Net 3.1核心Web应用程序,具有以下标记,我将其用作导航:

isinstance(x,(int,np.integer)) 
#or
(1.0).is_integer()

但是,当我使用“开始”按钮运行应用程序时,URL hrefs包含两次列出的操作,例如

                        <ul class="navbar-nav flex-grow-1">
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="About" asp-action="About">About</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="Students" asp-action="Students">Students</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="Courses" asp-action="Courses">Courses</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="Instructors" asp-action="Instructors">Instructors</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-white" asp-area="" asp-controller="Departments" asp-action="Departments">Departments</a>
                            </li>
    
                        </ul>

代替


                        <li class="nav-item">
                            <a class="nav-link text-white" href="/About/About">About</a>
                        </li>
                        

我的控制器文件中是否有需要更改的动作参数? 包含路由的文件在哪里?

谢谢

罗伯特

解决方法

@ gidanmx2指出,默认情况下,路由类似于controller/action

在您看来,您已将控制器和操作设置为相同。

<a class="nav-link text-white" asp-area="" asp-controller="About" asp-action="About">About</a>

这就是为什么您具有“关于/关于”链接的原因。

我想您尚未为每个动作创建一个控制器,因此将正确的控制器设置为asp-controller,应该没问题。可能是Home吗?

,

默认情况下,路由是在Startup.cs中定义的,如您所见,如果将“关于”操作重命名为“索引”,则有一个名为“索引”的默认操作,那么链接将为“ /关于” >

app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");
        });

您还可以使用Route属性修饰Action,以定义自定义路线。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。