我在檔案中找到了這段代碼,它給了我服務器在背景關系錯誤中不存在(對于 Server.MapPath())。還有其他讀取檔案的方法嗎?我嘗試輸入要讀取的檔案的絕對路徑,但它給出了空指標例外。謝謝 PS我正在使用.net core 3.1
@{
var result = "";
Array userData = null;
char[] delimiterChar = {','};
var dataFile = Server.MapPath("~/App_Data/data.txt");
if (File.Exists(dataFile)) {
userData = File.ReadAllLines(dataFile);
if (userData == null) {
// Empty file.
result = "The file is empty.";
}
}
else {
// File does not exist.
result = "The file does not exist.";
}
}
<!DOCTYPE html>
<html>
<head>
<title>Reading Data from a File</title>
</head>
<body>
<div>
<h1>Reading Data from a File</h1>
@result
@if (result == "") {
<ol>
@foreach (string dataLine in userData) {
<li>
User
<ul>
@foreach (string dataItem in dataLine.Split(delimiterChar)) {
<li>@dataItem</li >
}
</ul>
</li>
}
</ol>
}
</div>
</body>
</html>
uj5u.com熱心網友回復:
如果您使用的是 MVC 專案,為什么不讀取 Controller 中的檔案,并通過 Model 傳遞該文本?像下面的東西?
public IActionResult Index()
{
var result = "";
Array userData = null;
char[] delimiterChar = { ',' };
var dataFile = Server.MapPath("~/App_Data/data.txt");
if (File.Exists(dataFile))
{
userData = File.ReadAllLines(dataFile);
if (userData == null)
{
// Empty file.
result = "The file is empty.";
}
}
else
{
// File does not exist.
result = "The file does not exist.";
}
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 = "";
Array userData = null;
char[] delimiterChar = { ',' };
var dataFile = System.IO.Path.Combine(env.ContentRootPath, @"App_Data\data.txt");
if (System.IO.File.Exists(dataFile))
{
userData = System.IO.File.ReadAllLines(dataFile);
if (userData == null)
{
// Empty file.
result = "The file is empty.";
}
}
else
{
result = "The file does not exist.";
}
}
您可以從此檔案中了解有關“在 ASP.NET Core 中使用靜態檔案”的更多資訊:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-5.0#serve-static-files
如果可能,您可以將代碼邏輯放在控制器操作方法中,而不是放在 MVC 視圖中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415874.html
標籤:
