呈现服务器端命令时出现 Razor 白页(Asp.net 5)?
Razor white page when render server side commands(Asp.net 5)?
首先抱歉我的英语不好。
当我尝试查看 HomeController
和 Index
操作的 url /
时,我得到的只是一个白页。
我从空的 ASP.NET 5 Web 应用程序模板开始,然后添加 Controllers\HomeController.cs
。接下来,我要在 Views and finally adding
Index.cshtmlunder
Views\Home` 下添加 Home
文件夹。
当我使用 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>
可能发生异常。
请在 Startup.cs
的 Configure()
方法中添加 app.UseDeveloperExceptionPage();
。
样本:
using Microsoft.AspNet.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace HelloMvc
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
app.UseDeveloperExceptionPage(); // <=== that is missing
app.UseMvcWithDefaultRoute();
}
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
}
非常感谢@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);
}
}
首先抱歉我的英语不好。
当我尝试查看 HomeController
和 Index
操作的 url /
时,我得到的只是一个白页。
我从空的 ASP.NET 5 Web 应用程序模板开始,然后添加 Controllers\HomeController.cs
。接下来,我要在 Views and finally adding
Index.cshtmlunder
Views\Home` 下添加 Home
文件夹。
当我使用 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>
可能发生异常。
请在 Startup.cs
的 Configure()
方法中添加 app.UseDeveloperExceptionPage();
。
样本:
using Microsoft.AspNet.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace HelloMvc
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
app.UseDeveloperExceptionPage(); // <=== that is missing
app.UseMvcWithDefaultRoute();
}
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
}
非常感谢@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);
}
}