asp.net-mvc-routing – 获取错误的路由并且ActionLink生成错误
发布时间:2020-12-16 03:48:10 所属栏目:asp.Net 来源:网络整理
导读:我是ASP.NET MVC3的新手. 我在Global.asax中配置了一些路由,我使用@ Html.ActionLink帮助方法生成一些超链接. 除了以下代码中的顶部链接之外,所有链接都正确呈现: Global.asax中 routes.MapRoute( null,"Section/{Page}/{SubPage}/{DetailPageName}",new {
我是ASP.NET MVC3的新手.
我在Global.asax中配置了一些路由,我使用@ Html.ActionLink帮助方法生成一些超链接. 除了以下代码中的顶部链接之外,所有链接都正确呈现: Global.asax中 routes.MapRoute( null,"Section/{Page}/{SubPage}/{DetailPageName}",new { controller = "Base" } ); routes.MapRoute( null,"Section/{Page}/{SubPage}",new { controller = "Base",action = "SubPage" } ); routes.MapRoute( null,"Section/{Page}",new { controller ="Base",action="LandingPage"} ); routes.MapRoute( "Default",// Route name "{controller}/{action}",// URL with parameters new { controller = "Base",action = "Index" } // Parameter defaults ); ActionLink代码 @Html.ActionLink(@subPages.LinkedPageName,"DetailPage",new { Controller = "Base",Page = @ViewBag.PageName,SubPage = @Model.SubPageName,DetailPageName = subPages.LinkedPageName }) 以上应选择最上面的路线,即: routes.MapRoute( null,new { controller = "Base" } ); 但它正在选择默认路线! 解决方法
在此路线定义中:
routes.MapRoute( null,new { controller = "Base" } ); 要使路线匹配,必须满足以下条件: >如果有一个控制器参数传递到ActionLink,那么它的值必须是Base 所以在对ActionLink的调用中: @Html.ActionLink(@subPages.LinkedPageName,DetailPageName = subPages.LinkedPageName }) 条件#1显然是令人满意的.但是条件#2,#3和#4可能不满足,因为它们的值可能为空. 并且因为您声明最终匹配的路由是默认路由,我怀疑Page参数为null或为空.也就是说,@ ViewBag.PageName返回null或空值. 检入代码(可能在调试器中或在视图中打印出来)以查看PageName属性是否具有值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 有没有= window.onload在Javascript?
- asp.net-mvc – OData和WebAPI路由冲突
- asp.net-mvc – Visual Studio:您使用什么方法为类似项目“
- .net – 在黄屏死亡的地方有执行吗?
- asp.net – 调用RenderSection两次?
- 在ASP.net页面中嵌入SVG
- 优化 .net core 应用的 dockerfile
- asp.net-mvc – asp.net mvc – 需要存储当前请求的一些数据
- ASP.NET:如何从通用处理程序获取文件的虚拟路径?
- asp.net-mvc – RazorEngine:不能使用Html.Raw
推荐文章
站长推荐
- asp.net – html元素的命名约定
- Asp.net – 尝试访问工作网页时出错
- asp.net-mvc-3 – SelectList不显示所选项目
- asp.net-mvc – 在asp.net mvc主页面的导航列表中
- asp.net-web-api2 – 如何创建HttpRequestHeader
- jQuery Ajax方法调用 Asp.Net WebService 的详细
- asp.net-mvc – EF映射对象不兼容的数据读取器异
- ASP.NET MVC 4 / Web API – 为Accepts插入Razor
- 从数据到代码——基于T4的代码生成方式
- asp.net-mvc – 使用DataAnnotations与ASP.Net M
热点阅读