Asp.net 6.0下有2个文件 :Program.cs,Startup.cs。
如你创建的是Asp.net MVC项目,这2个文件都会有;
如果创建的是Razor项目,那么只有一个Program.cs。
这两种类型有什么区别呢?如果创建好后,想在Razor里创建一个Controlller,对不起,它是找不到的。
比较了一下两种项目的启动文件 ,就是Program.cs,发现Asp.net MVC的多了2行:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
//app.MapDefaultControllerRoute(); //或者用本句替换上面那句也可以
app.MapGet("/hi", () => "Hello!");
app.Run();
把它们加入到Razor中,如上黑体所示,访问/http://localhost:5122/GoodStudenthttp://localhost:5122/YourController,页面正常打开了!
GoodStudentController.cs中项目放的位置任意。
另外说下这个Razor,感觉它就是以前的WebForm的进化版。
不过我还是喜欢用MVC,因为这样可以在运行时动态指定挂载到Controller的模板。