Gom*_*ket 6 asp.net asp.net-mvc razor asp.net-core-mvc asp.net-core
我最近开了一个Asp .Net Core应用程序.后来我想将它与角整合,但首先我需要一个机制,将"替换" cshtml用html.
如果我改变扩展名cshtml,html我就得到这个
'InvalidOperationException:找不到'索引'视图'.
我也尝试过Startup
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)
但它也没有用.
可选的是将cshtml布局内容与html页面集成,但我认为这是不可能的.
所以,我的问题是,我可以简单地用html替换所有的cshtml吗?
Ash*_*man 13
静态文件通常位于Web根目录(wwwroot)文件夹中.默认情况下,这是我们可以直接从文件系统提供文件的唯一位置.
1. html在(wwwroot)名称中创建一个文件index.html
2. Microsoft.AspNet.StaticFiles通过NuGet安装包
3. UseStaticFiles在Startup.csConfigure方法下添加
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder
// if you want to run outside wwwroot then use this
//request like http://<app>/StaticFiles/index.html
/* app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
RequestPath = new PathString("/StaticFiles")
});*/
}
Run Code Online (Sandbox Code Playgroud)
如果你想在外面运行静态文件wwwroot,那么 -
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder
//request like http://<app>/StaticFiles/index.html
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
RequestPath = new PathString("/StaticFiles")
});
}
Run Code Online (Sandbox Code Playgroud)
你的要求就好 http://<app>/StaticFiles/index.html
如果你想index.html成为你的默认文件,那么这是IIS一直拥有的功能
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.UseDeveloperExceptionPage();
app.UseRuntimeInfoPage();
app.UseDefaultFiles();
app.UseStaticFiles();
}
Run Code Online (Sandbox Code Playgroud)
希望它对你有所帮助.你可以从更多信息,这个链接.
| 归档时间: |
|
| 查看次数: |
4124 次 |
| 最近记录: |