我已经在Beta 5中使用以下解决方案,但这在RC1中不再起作用:
How to access RouteData from an ASP.Net 5 Tag Helper in MVC 6

被击中时ViewContext为null。我是否需要在某个地方(例如在Startup中)实例化ViewContext?

编辑:这是我的ConfigureServices方法:

public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddApplicationInsightsTelemetry(Configuration);

            //EF 7 setup
            services.AddEntityFramework()
                .AddSqlServer()
                .AddDbContext<ApplicationDbContext>(options =>
                    options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

            services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

            // Add MVC services to the services container.
            services.AddMvc();

            //Add Cors support to the service
            services.AddCors();

            var policy = new Microsoft.AspNet.Cors.Infrastructure.CorsPolicy();

            policy.Headers.Add("*");
            policy.Methods.Add("*");
            policy.Origins.Add("*");
            policy.SupportsCredentials = true;

            services.Configure<CorsOptions>(x => x.AddPolicy("mypolicy", policy));

            // Add application services.
            services.AddTransient<IEmailSender, AuthMessageSender>();
            services.AddTransient<ISmsSender, AuthMessageSender>();
            services.AddScoped<IMainRepository, MainRepository>(); //dependency injection config
        }

最佳答案

您是否使用了正确的ViewContext属性? ViewContext属性位于Microsoft.AspNet.Mvc.ViewFeatures中,而不位于Microsoft.AspNet.Mvc.Rendering中(ViewContext类本身在其中)。

10-05 19:23