Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Blazor:从Blazor页面列出并链接本地HTML文件_C#_Html_Blazor - Fatal编程技术网

C# Blazor:从Blazor页面列出并链接本地HTML文件

C# Blazor:从Blazor页面列出并链接本地HTML文件,c#,html,blazor,C#,Html,Blazor,我需要列出运行Blazor服务器的机器上的HTML文件。HTML页面由另一个应用程序生成。我能够检索所有HTML文件名,并在Blazor页面上列出它们,为找到的每个HTML文件创建一个列表。但是,当在我的Blazor页面上单击指向HTML文件的链接时,什么都没有发生。当我打开链接并在“新建”选项卡中选择“打开链接”时,它只会加载一个地址为:blankblocked的空页面 我对Blazor没有太多的经验,但我想不访问Blazor页面范围之外的文件和目录是一种保护 我的Blazor服务器来自本MS

我需要列出运行Blazor服务器的机器上的HTML文件。HTML页面由另一个应用程序生成。我能够检索所有HTML文件名,并在Blazor页面上列出它们,为找到的每个HTML文件创建一个列表。但是,当在我的Blazor页面上单击指向HTML文件的链接时,什么都没有发生。当我打开链接并在“新建”选项卡中选择“打开链接”时,它只会加载一个地址为:blankblocked的空页面

我对Blazor没有太多的经验,但我想不访问Blazor页面范围之外的文件和目录是一种保护

我的Blazor服务器来自本MSDN教程,正在运行:

我自己的代码如下添加到Index.razor中:

Blazor应用程序位于C:\projects\BlazorApp中,HTML文件位于同一台计算机上的C:\Temp中

如何在Blazor页面中创建指向这些HTML文件的工作链接

我无法控制创建HTML文件的应用程序,因此我只能检查是否有可用的文件。如前所述,如果可用,我需要将它们链接起来。
提前谢谢

根据JeremyW的说法,我将读取文件的内容并将其显示为标记字符串。因此,我准备了一个页面,它接收完整的文件路径作为URL中的参数,然后读取文件

@inject NavigationManager navManager
@((MarkupString)htmlContent)
@code {
    private string htmlContent = "";
    protected override void OnInitialized()
    {
        var URL_PARAMS = GetURLParameters(navManager);
        htmlContent = ReadHtmlFile(URL_PARAMS);
    }
}
在HTML文件中有指向其他本地文件的附加链接。因此,在将实际内容传递给htmlContent变量之前,我会更新这些链接。现在,这些链接中的每一个都指向同一个blazor页面,再次提供文件路径作为参数


http://localhost:44444/readFilePage?fullPath=C%3a\文件%3a\data.html

因为还没有人回答您-高级概述:您无法从Blazor内部访问文件系统以从C驱动器读取任何内容,因为Blazor将您的操作范围限定在浏览器窗口内的网页上。您必须通过服务器应用程序读取HTML并将HTML发送到Blazor前端,然后Blazor前端必须接受并呈现该HTML。感谢您的回复。显示文件内容非常简单,我没有想到这一点:D
@inject NavigationManager navManager
@((MarkupString)htmlContent)
@code {
    private string htmlContent = "";
    protected override void OnInitialized()
    {
        var URL_PARAMS = GetURLParameters(navManager);
        htmlContent = ReadHtmlFile(URL_PARAMS);
    }
}