渲染服务器端命令(Asp.net 5)时的Razor白页?

时间:2015-12-11 08:53:17

标签: c# razor asp.net-core asp.net-core-mvc

首先抱歉我的英语不好。

当我尝试查看我的/HomeController操作的网址Index时,我得到的只是一个白页。

我从空的ASP.NET 5 Web应用程序模板开始,然后添加Controllers\HomeController.cs。接下来,我在Home Index.cshtml Views and finally adding Views \ Home`下添加under文件夹。

当我使用TempData["isim"]时,它会显示一个空白页。

为什么没有出现任何东西?

Startup.cs:

using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Extensions.DependencyInjection;

namespace WebApplication17
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseMvc(routes => routes.MapRoute("default", "{controller=Home}/{ation=Index}"));
        }

        public static void Main(string[] args) => WebApplication.Run<Startup>(args);
    }
}

Index.cshtml(工作):

<div>
    my welcome page
</div>

Index.cshtml(不工作):

<div>
    my welcome page

    @{
        <input type="text" id="isim" />
        string ad = TempData["isim"] as string;
        <input type="submit" />
    }
</div>

Screen capture

2 个答案:

答案 0 :(得分:2)

可能会发生异常。

请在app.UseDeveloperExceptionPage();的{​​{1}}方法中添加Configure()

<强>示例:

Startup.cs

Source

答案 1 :(得分:1)

非常感谢@Maxime Rouiller。我帮你解决了这个问题。如果我无法添加开发人员异常捕获错误,我无法看到问题,我无法找到解决方案。

解决方案遵循以下代码:

using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Extensions.DependencyInjection;

namespace WebApplication17
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(); 
            services.AddSession(); // problem and solution is here
            services.AddCaching(); // problem and solution is here

        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseDeveloperExceptionPage(); //thanks Maxime Rouiller.
            app.UseSession(); // problem and solution is here
            app.UseMvc(routes => routes.MapRoute("default", "{controller=Home}/{action=Index}"));
        }

        public static void Main(string[] args) => WebApplication.Run<Startup>(args);
    }
}