我在檔案中找到了這段代碼,但它給我的是server不存在于背景關系的錯誤(對于Server.MapPath())。 有什么其他方法可以讀取檔案嗎?我試著輸入我想讀取的檔案的絕對路徑,但它給出了空指標例外。 謝謝 P.S. 我使用的是.net core 3.1
。@{
var result = ""/span>;
Array userData = null;
char[] delimiterChar = {', '};
var dataFile = Server.MapPath("~/App_Data/data.txt"/span>)。
if (File.Exists(dataFile)) {
userData = File.ReadAllLines(dataFile);
if (userData == null) {
//空的檔案。
result = "該檔案為空。"。
}
}
else {
// 檔案不存在。
result = "該檔案不存在。"。
}
}
<!DOCTYPE html>
<html>
<head>
<title>讀取資料from a file</title>
</head>
<body>
<div>
<h1>讀取資料 from a File</h1>
@result
@if (result == "") {
<ol>
@foreach (string dataLine in userData) {
<li>
用戶
<ul>
@foreach (string dataItem in dataLine.Split(delimiterChar) ) {
<li>@dataItem</li >
}
</ul>
</li>
}
</ol>
}
</div>
</body>
</html>
uj5u.com熱心網友回復:
如果你使用的是MVC專案,為什么不在控制器中讀取檔案,并通過模型傳遞該文本? 像下面這樣?
public IActionResult Index()
{
var result = ""/span>;
Array userData = null;
char[] delimiterChar = { ', ' };
var dataFile = Server.MapPath("~/App_Data/data.txt") 。
if (File.Exists(dataFile))
{
userData = File.ReadAllLines(dataFile);
if (userData == null)
{
//空的檔案。
result = "該檔案為空。"。
}
}
else; }
{
// 檔案不存在。
result = "該檔案不存在。"。
}
return View(result)。
然后在Index.cshtml上
@model string
@if (@Model == "") {
.
.
.
}
uj5u.com熱心網友回復:
它給我的服務器不存在于背景關系中的錯誤(對于Server.MapPath())
有沒有其他讀取檔案的方法呢?
請注意,Server.MapPath沒有被包含在 ASP.NET Core 中。
要訪問檔案/App_Data/data.txt,您可以參考以下代碼片段。
@using Microsoft.AspNetCore.hosting
@inject IWebHostEnvironment env
@{
var result = ""/span>;
Array userData = null;
char[] delimiterChar = { ', ' };
var dataFile = System.IO.Path.Combine(env.ContentRootPath, @"App_Datadata.txt" );
if (System.IO.File.Exists(dataFile))
{
userData = System.IO.File.ReadAllLines(dataFile);
if (userData == null)
{
//空的檔案。
result = "該檔案為空。"。
}
}
else; }
{
結果 = "該檔案不存在。"。
}
}
如果可能的話,你可以把你的代碼邏輯放在控制器的動作方法中,而不是放在MVC視圖中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/320337.html
標籤:
