c# – 具有多个参数MVC4的多个路由
发布时间:2020-12-16 01:57:59 所属栏目:百科 来源:网络整理
导读:我有一个网页使用两个URL参数进行重定向:id和bidId我还有一个其他网页,其中包含两个其他URL参数的重定向:id和templateId. 我想创建一个路径来获得一个格式良好的URL,如:localhost / 12/50,但我的路线有问题. routes.MapRoute( name: "SubmitBid",url: "{c
我有一个网页使用两个URL参数进行重定向:id和bidId我还有一个其他网页,其中包含两个其他URL参数的重定向:id和templateId.
我想创建一个路径来获得一个格式良好的URL,如:localhost / 12/50,但我的路线有问题. routes.MapRoute( name: "SubmitBid",url: "{controller}/{action}/{id}/{bidId}/",defaults: new { controller = "Tender",action = "SubmitBid",id = UrlParameter.Optional,bidId = UrlParameter.Optional }); routes.MapRoute( name: "Tender",url: "{controller}/{action}/{id}/{templateId}",action = "Create",templateId = UrlParameter.Optional }); 当我进入SubmitBid页面时,URL工作正常,但如果我去模板页面,我有一个这样的URL:localhost / 5 /?templateId = 0 我不明白为什么它不起作用我需要你的帮助来理解为什么它这样做.谢谢您的帮助.卡林纳 编辑:我导航的方式是这样的: @Html.ActionLink(this.LocalResources("Use"),VIA.Enums.ActionName.UseTemplate.GetStringValue(),new { Id = "0",templateId = item.Id }) @using (Html.BeginForm("SubmitBid","Tender",new { id = Model.Id,bidId = "0" },FormMethod.Get,null)) { <div style="text-align: center; margin: 20px 0 0 0"> <button class="btn btn-large btn-primary" type="submit">@this.LocalResources("Bid.Text")</button> </div> } 解决方法
您应该为两个控制器操作添加特定路由:
routes.MapRoute( name: "SubmitBid",url: "Tender/SubmitBid/{id}/{bidId}/",defaults: new { controller = "Tender",bidId = UrlParameter.Optional }); routes.MapRoute( name: "Tender",url: "Tender/Create/{id}/{templateId}",templateId = UrlParameter.Optional }); // Default route,keep this at last for fall-back. routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |