asp.net-mvc C 路由是在我的区域中找到控制器,但不是视图
发布时间:2023-12-21 17:13:57 所属栏目:asp.Net 来源:DaWei
导读: 我正在尝试使用Maarten Balliauw的
Domain Route类将子域映射到MVC2应用程序中的区域,以便我有以下URL:
http://admin.mydomain.com/home/index
代替:
http://mydomain.c
Domain Route类将子域映射到MVC2应用程序中的区域,以便我有以下URL:
http://admin.mydomain.com/home/index
代替:
http://mydomain.c
我正在尝试使用Maarten Balliauw的 Domain Route类将子域映射到MVC2应用程序中的区域,以便我有以下URL: http://admin.mydomain.com/home/index 代替: http://mydomain.com/admin/home/index到目前为止,我只取得了部分成功.执行被路由到正确区域中的正确控制器,但它无法找到正确的视图.我收到以下错误: The view 'Index' or its master was not found. The following locations were searched: ~/Views/AdminHome/Index.aspx ~/Views/AdminHome/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx这向我表明MVC只在根视图文件夹中查找视图,而不是在区域内查看视图文件夹.如果我将区域视图文件夹中的视图复制到根视图文件夹,页面呈现正常.然而,这完全违背了将APP划分为区域的目的. 我正在为该地区定义路线: public class AdminAreaRegistration : AreaRegistration { public override string AreaName { get { return "Admin"; } } public override void RegisterArea(AreaRegistrationContext context) { context.Routes.Add( "Admin_Default",new DomainRoute( "admin.localhost","{controller}/{action}/{id}",new { controller = "AdminHome",action = "Index",id = UrlParameter.Optional } )); } }我很困惑为什么它找到区域内的控制器很好,但不是视图. 解决方法 好的,我明白了.下载MVC 2源代码并将其添加到我的解决方案中,如 here所述,我逐步完成了MVC代码.我发现区域内的路由实现了IRouteWithArea接口.此接口向RouteData添加“Area”属性,毫不奇怪,它包含区域的名称.我修改了DomainRoute类,以便实现这个接口并添加了一些带有这个附加参数的重载构造函数,它现在完全按照我的意愿工作.注册我的路线的代码现在看起来像这样: context.Routes.Add( "Admin_Default",new DomainRoute( "admin.mydomain","Admin",id = UrlParameter.Optional } ));(编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 最小和最大字符串长度的单独错误消息 –
- asp.net-mvc – 只发布控制器
- asp.net-core C 如何使用ASP.NET注册OData 5
- asp.net下使用jquery 的ajax+WebService+json 实现无刷新取
- asp.net-mvc – 如何成功配置Common.Logging?
- 有没有办法加快asp.net中的编辑 C 编译 C 调试周期?
- asp.net – 地理位置网络服务建议
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
- asp.net-mvc – ASP.net MVC DropDownList预选项目被忽略
- ASP.NET 5,.NET Core和ASP.NET Core 5有什么区别?
推荐文章
站长推荐
- asp.net-mvc – 在asp.net mvc中启动一组未选中的
- remoting和webservice有什么区别
- 用Dataset对象读取XML内容来绑定下拉列表框
- asp.net-mvc – 在ASP.NET MVC 4中未加载的捆绑包
- .net – ReportViewer 2010无法评估表达式
- ASP.NET Core中实现用户登录验证的最低配置示例代
- asp.net-mvc – Nhibernate / MVC:在View中处理
- asp.net – 基于函数式编程的UI
- asp.net-mvc-2 – 带有数组/列表的ASP.NET MVC 2
- asp.net – 如何在页面加载时以“添加新”模式进
热点阅读
- asp.net-core C 如何使用ASP.NET注册OData
- asp.net C MVC4 C ContextDependentView C
- asp.net-mvc-3 C 如何从ASP.NET MVC#输出中
- asp.net-mvc C 已经使用相同的参数类型定义
- ASP.Net C AJAX UpdatePanel中的Javascript
- asp.net-mvc C ASP.NET MVC中的WebApi [Fro
- asp.net-mvc C 使用AD的ASP.NET MVC表单Aut
- asp.net C 适用于多个用户的EWS通知中心
- asp.net-mvc C 未在ELMAH中记录的错误
- asp.net-mvc C MVC应用程序中的随机数生成