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