加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – tag-helpers无法正确生成我的网址

发布时间:2020-12-16 06:55:23 所属栏目:asp.Net 来源:网络整理
导读:我设置了以下路线 app.UseMvc(routes = { routes.MapRoute( name: "admin",template: "{controller=Home}/{action=Index}/{id?}",defaults: new {Area = "Admin"},constraints: new {HostConstraint = new MyConstraint()}); routes.MapRoute( name: "admin-
我设置了以下路线

app.UseMvc(routes =>
    {

        routes.MapRoute(
            name: "admin",template: "{controller=Home}/{action=Index}/{id?}",defaults: new {Area = "Admin"},constraints: new {HostConstraint = new MyConstraint()});
        routes.MapRoute(
            name: "admin-rep",template: "Rep/{controller=Home}/{action=Index}/{id?}",defaults: new { Area = "" },constraints: new { HostConstraint = new MyConstraint() });

        routes.MapRoute(
            name: "default",template: "{controller=Home}/{action=Index}/{id?}");
    });

在这种情况下,MyConstraint总是返回true.

>如果我尝试访问路径“/”,我最终会进入区域管理员,控制器主页,操作索引.没关系.
>如果我尝试访问“/ rep”,那么我最终会进入根区域,动作索引.好 .问题是该视图有一个链接引用我的HomeController中的另一个动作(来自根区域).我期待链接指向/ rep / home / action2,但生成的路由是/ home / action2.这就像生成网址时有一些错误的匹配?

<a asp-action="Action">Action</a>

@Html.ActionLink("Action","Action")

解决方法

重新排序您的路线,先写admin-rep然后再写admin

app.UseMvc(routes =>
{


    routes.MapRoute(
        name: "admin-rep",constraints: new { HostConstraint = new MyConstraint() });

    routes.MapRoute(
        name: "admin",constraints: new {HostConstraint = new MyConstraint()});

    routes.MapRoute(
        name: "default",template: "{controller=Home}/{action=Index}/{id?}");
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读