【发布时间】:2011-02-23 13:52:21
【问题描述】:
我是 MVC 的新手。我编写的应用程序可以运行,并且我会在学习过程中不断对其进行微调。最近,我一直在玩弄移动网站工具。我从来不需要这样做,所以我做了尽可能多的搜索/阅读/修补。我从 Microsoft Web App Toolkit 开始,它最终有点过时,所以我继续阅读并最终切换到使用 51Degrees.mobi 库。
我已经根据几个不同的帖子进行了设置:
- 史蒂夫·桑德森 - http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application
- 51Degrees 用户指南 - http://51degrees.codeplex.com/wikipage?title=User%20guide
- ...以及一堆其他网站和描述都围绕相同的基本点。
这就是我所拥有的 Sanderson 先生所描述的。
- 为我的移动控制器/视图创建了一个 MVC 区域,从而创建了 MobileAreaRegistration.cs 文件
- 修改了该区域下的 MobileAreaRegistration.cs 以指定默认控制器和操作。
- 在我的配置文件中包含 51Degrees 组件。即 sectionGroup 引用,包含重定向和 httpModule 的第五十一个部分。
即使我使用的是 Win7,我也必须使用以下 IIS 模块进行调试:
我还对 Global.asax.cs 文件进行了必要的修改以包含主命名空间,这样应用程序就不会混淆它在执行时应该默认到哪个区域。 (如 Steve Sanderson 的帖子中所述)。
最后,我安装了 iphone 模拟器和 android 模拟器,重定向的代码在我的 HomeController 中。我还没有针对每种设备的任何具体信息。我仍在尝试让重定向正确启动。
当我在桌面浏览器(无移动重定向)中运行该站点时,它运行良好。当我使用模拟器(或尝试将桌面浏览器定向到移动站点)时,我收到以下错误。它确实看起来很明显(缺少控制器),但它就在那里。那我没看到什么?
找不到请求的页面。 (404)
System.Web.HttpException:找不到路径“/Mobile”的控制器或未实现 IController。在 System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) 在 System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) 在 System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& 控制器, IControllerFactory& factory) 在 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) 在 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) 在 System.Web.Mvc .MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean & completedSynchronously)
第二双眼睛会很棒!提前感谢您的帮助。
【问题讨论】:
标签: asp.net-mvc-2 mobile-website