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

asp.net-mvc – 我没有使用GET方法获取友好的URL

发布时间:2020-12-16 03:48:53 所属栏目:asp.Net 来源:网络整理
导读:我设置了这样的路线: routes.MapRoute( name: "Pesquisar",url: "Pesquisar/{aaa}/{bbb}/{id}",defaults: new { controller = "Home",action = "Pesquisar",aaa = UrlParameter.Optional,bbb = UrlParameter.Optional,id = UrlParameter.Optional }); 当我
我设置了这样的路线:

routes.MapRoute(
    name: "Pesquisar",url: "Pesquisar/{aaa}/{bbb}/{id}",defaults: new { controller = "Home",action = "Pesquisar",aaa = UrlParameter.Optional,bbb = UrlParameter.Optional,id = UrlParameter.Optional
    }
);

当我按一个表单中的发送按钮(使用GET方法)时,网址就像这样:

http://localhost:00000/Pesquisar?aaa=One&bbb=Two

但我期待:

http://localhost:00000/Pesquisar/One/Two

解决方法

映射路径时,会将其添加到列表的末尾.当路由器查找匹配的规则时,它从列表的开头开始并通过它进行迭代.它将采用匹配的第一条规则,而不是最具体的规则.因为将代码附加到最后是很自然的,所以默认规则(适用于几乎所有内容)都将在开始时进行.

尝试重新排序代码,如下所示:

///The specific rout which you want to use
        routes.MapRoute(
        name: "Pesquisar",url: "{action}/{aaa}/{bbb}/{id}",id = UrlParameter.Optional
        }
        );

        ///The generic catch all router
        routes.MapRoute(
            name: "Default",url: "{controller}/{action}/{id}",action = "Index",id = UrlParameter.Optional }
        );

更多信息可以在这个问题中找到:
Setting up ASP.Net MVC 4 Routing with custom segment variables

(编辑:李大同)

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

    推荐文章
      热点阅读