asp.net – IControllerFactory’MyWebSite.WebUI.Infrastructure.
发布时间:2021-01-17 07:23:21  所属栏目: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-mvc – ASP.NET MVC – RequireJS最佳的多页面应用
 - asp.net-mvc – 在ASP.NET MVC中的LinkButton
 - asp.net-mvc – 你如何指定在列表框中显示多少项目(高度)
 - asp.net-mvc-3 – MVC 3 WebGrid – 可以进行内联编辑吗?
 - ASP.NET批量下载文件的方法
 - asp.net实现文件下载的代码
 - ASP.NET和System.Diagnostics跟踪 – 我错过了什么,或者这是
 - asp.net-mvc – LiveReload ASP.net MVC Web应用程序与Grun
 - 如何通过Asp.net WebAPI中的异常过滤器传递内容?
 - asp.net – 如何序列化LINQ-to-SQL惰性列表
 
推荐文章
            站长推荐
            - asp.net – axd和ashx处理程序之间的区别
 - asp.net简单生成XML文件的方法
 - asp.net-mvc-3 – “区域”文件夹中的样式,脚本和
 - 如何使用Fluent Nhibernate中的Automapping进行O
 - asp.net通过Ajax UpdatePanel回传后滚动条位置变
 - asp.net-mvc – 使ASP.NET绑定指定media =屏幕的
 - asp.net – 登录后对Membership.GetAllUsers()的
 - ASP.NET MVC删除操作链接确认
 - asp.net – 如何从TableAdapter中检索存储过程返
 - asp.net-mvc – ASP.net MVC:在RenderAction中获
 
热点阅读
            