asp.net – IControllerFactory’MyWebSite.WebUI.Infrastructure.
发布时间:2021-01-17 07:46:05 所属栏目:asp.Net 来源:互联网
导读:当我尝试在区域中的控制器中打开视图时,我得到了上述内容. Ninject设置如下: public class NinjectControllerFactory : DefaultControllerFactory{ private IKernel kernel = new StandardKernel(new RLSBCWebSiteServices()); protected
当我尝试在区域中的控制器中打开视图时,我得到了上述内容. Ninject设置如下: public class NinjectControllerFactory : DefaultControllerFactory { private IKernel kernel = new StandardKernel(new RLSBCWebSiteServices()); protected override IController GetControllerInstance(RequestContext context,Type controllerType) { if (controllerType == null) return null; return (IController)kernel.Get(controllerType); } private class MyWebSiteServices : NinjectModule { public override void Load() { Bind<IMatchesRepository>().To<SqlMatchesRepository>().WithConstructorArgument("connectionString",ConfigurationManager.ConnectionStrings["MyWebSiteDb"].ConnectionString); } } } 如果我在代码中放置断点,我看到RequestContext上下文包含以下值: context.RouteData.DataTokens.Values[0] = “MyWebSite.WebUI.Areas.Visitor” context.RouteData.DataTokens.Values[1] = “Visitor” which is the Area context.RouteData.Values.Values[0] = “admin” which is the Controller context.RouteData.Values.Values[1] = “register” which is the View 但是,controllerType == null,而不是控制器名称. 这个转移到新页面的过程是由 Html.ActionLink("here","Register","Admin",new { area = "Visitor" },null) 在登录页面上.但是如果我进入就会发生同样的事情 http://example.com/Visitor/admin/register 进入IE8 地区登记如下: public class VisitorAreaRegistration : AreaRegistration { public override string AreaName { get { return "Visitor"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Visitor_default","Visitor/{controller}/{action}/{id}",new { controller = "Admin",action = "Register",id = UrlParameter.Optional } ); } } 有没有人设法让区域使用NinjectControllerFactory,或者我的设置有问题? 解决方法而不是创建自己的NinjectControllerFactory使用最新版本的Ninject.Web.Mvc.它支持区域.见: https://github.com/ninject/ninject.web.mvc(编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – ASP.NET中的“关键字不支持:”错误
- asp.net – Web部署安装程序(MSI)中没有“IIS 7部署处理程序
- 从app_data中删除文件夹时如何防止asp.net重新编译?
- asp.net – Umbraco CMS(.NET):加载xslt /用户控件的日志错
- asp.net-core – .NET Core SDK安装程序无法在Windows 2012
- asp.net – 多个域的集成Windows身份验证
- 在asp.net中使用加密数据库联接字符串保证数据安全
- ASP.NET成员资格 – 让用户使用以前的密码
- asp.net-mvc – 如何检查是否为浏览器启用了cookie
- asp.net-mvc – asp.net mvc如何正确测试控制器
推荐文章
站长推荐
- asp.net-mvc-3 – 如何在ASP.NET MVC中创建递归结
- asp.net – 单个应用程序中的多个母版页
- asp.net – 脚本标签和链接标签进入asp:内容或外
- 单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.
- 部署DotNetNuke并将ASP.NET应用程序分开 – 可能
- 何时在ASP.NET上选择LAMP?
- asp.net – 是否有可能过滤SignalR中的接收器?
- asp.net-mvc – 在EditorFor for child对象中使用
- asp.net-mvc-4 – 全局过滤器MVC 4的执行顺序是什
- asp.net-mvc-2 – ASP.NET MVC 2并列为隐藏值?
热点阅读