asp.net-mvc – 路由是在我的区域中找到控制器,但不是视图
发布时间:2021-01-24 10:33:53 所属栏目:asp.Net 来源:互联网
导读:我正在尝试使用Maarten Balliauw的 Domain Route类将子域映射到MVC2应用程序中的区域,以便我有以下URL: http://admin.mydomain.com/home/index 代替: http://mydomain.com/admin/home/index 到目前为止,我只取得了部分成功.执行被路由到正确区域中的正确控
|
我正在尝试使用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 – SSL握手问题? (当时:网页挂起,只清除浏览
- 从ASP.Net中的sessionID获取会话对象
- 优化 – 字典/客户端VS应用程序变量
- asp.net – 在WebForms中调试时关闭捆绑/缩小
- asp.net – 网站随时随地突破
- asp.net-mvc – 如何使用selenium进行ASP.NET MVC集成测试
- asp.net-mvc – MVC“添加控制器”是“无法检索元数据…配置
- asp.net-mvc – Bug? ASP.NET MVC 2中的客户端验证导致Val
- asp.net – Url片段为空
- asp.net – WebBrowsable vs个性化Web部件
推荐文章
站长推荐
- asp.net-mvc – 为什么我的视图模型中的内部成员
- asp.net-mvc – ASP.NET MVC中的代码
- 是否可以使用ASP.NET ScriptManager来使用Window
- 如何在ASP.NET MVC应用程序中本地化Controller名
- asp.net中让Repeater和GridView支持DataPager分页
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.L
- asp.net-mvc – 使用Razor视图引擎 – 如何格式化
- 如何重定向到ASP.NET MVC中的调用页面?
- 用户控件在asp.net和Performance中
- asp.net – Orchard CMS Media中的文件大小上传限
热点阅读
