在本地调试时无法加载文本文件

时间:2014-12-08 20:29:54

标签: c# razor

我正在创建一个网页,该网页解析文本文件并输出“重要”行号作为超链接,用户可以点击这些超链接,然后转到输入文本文件的行号。当然,这意味着通过单击超链接,浏览器必须导航到文本文件。问题在于那部分。单击超链接时,没有任何反应。没有错误,只是没有。

以下是相关的cshtml代码:

<pre>
    @results

    @for (int i = 0; i < ViewBag.links.Count; i++)
    { 
        if (ViewBag.links[i].isHyperLink == true) 
        {
            {<a href="@ViewBag.links[i].url">@ViewBag.links[i].text</a>} //HYPERLINKS PRINTED TO PAGE HERE
        }  
        if (ViewBag.links[i].isHyperLink == false)
        {
            @ViewBag.links[i].text;
        }
    }
</pre>

以下是相关的C#代码:

        MatchCollection mc = Regex.Matches(output, @", [0-9]+?\)"); //find matches in txt file
        List<TextandHyperlink> links = new List<TextandHyperlink>(); //create list of hyperlink objects
        TextandHyperlink tempLink = new TextandHyperlink(); //create 

        int length;
        string temp = "";

        // Get line numbers
        for (int i = 0; i < mc.Count; i++)
        {
            if (i > 0)
                tempLink = new TextandHyperlink();

            length = mc[i].Value.Length;
            temp = mc[i].Value.Substring(2, length - 3);
            tempLink.text = temp;
            tempLink.url = relativePath; //ASSIGN PATH TO TXT FILE HERE
            tempLink.isHyperLink = true;
            links.Add(tempLink);
        }
        ViewBag.links = links;

我已经验证了relativePath是我电脑上文本文件的正确路径。以防万一,这是我正在使用的路径的示例: relativePath = C:\ Users \ USER \ PROJECT \ Website \ Website \ Home \ UploadFiles~ / App_Data / Uploads / bloop.txt

提前感谢您的帮助!

编辑:这是生成的html:

--------
Summary
--------
Version             23.00.00.00
Error               2   at lines    (09/02/2014-06:13:32.607, <a href="C:\Users\USER\PROJECT\Website\Website\Home\UploadFiles~/App_Data/Uploads/bloop.txt">5662</a>); (09/02/2014-06:15:10.756, <a href="C:\Users\USER\PROJECT\Website\Website\Home\UploadFiles~/App_Data/Uploads/bloop.txt">7397</a>)
Timeouts                0
Inits               1   at lines    (09/02/2014-06:12:59.900, <a href="C:\Users\USER\PROJECT\Website\Website\Home\UploadFiles~/App_Data/Uploads/bloop.txt">2</a>)

1 个答案:

答案 0 :(得分:0)

如果您确定自己的路径和文件名是正确的,那么权限将是另一个问题。例如,在Windows Server计算机上,您必须确保使用相同的用户&#39;运行exe / 网页 / operation(可能是本地帐户,网络服务帐户等)对该文件至少具有 显式读取权限。从网页访问文件是非常困难的,因为已经成为安全机制,权限就是其中之一。

(请注意 - 在您的错误消息中 - 您的文件路径确实看起来很笨拙......漂浮的 tilda 是可疑的)