在asp.net MVC中读取文本文件时出错
本文关键字:取文本 文件 出错 读取 asp net MVC | 更新日期: 2023-09-27 18:18:49
我正在使用ASP开发一个网站。净MVC。我有多行数据,我存储在一个文本行和保存的文本文件在ContentData文件夹在我的应用程序。我遇到了这样的错误,文件路径没有找到
找不到路径"C:'Program Files (x86)'IIS"的一部分表达' ~ ' ContentData ' WTE.txt '
请看看我的代码,并帮助我如何做到这一点。
这是视图:
@{
ViewBag.Title = "WhatToExpect";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<h2></h2>
@{
int counter = 0;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file = new
System.IO.StreamReader(@"~/ContentData/WTE.txt");
while((line = file.ReadLine()) != null)
{
string notes= line;
Html.Raw(notes);
counter++;
}
<div id="ChurchImage">
<img src="../../Images1/redeemer.jpg" alt="" />
</div>
file.Close();
}
我已经尝试替换文件路径中的@。毫无效果。请帮帮我出去了。提前感谢
// Get your root directoty
var root = AppDomain.CurrentDomain.BaseDirectory;
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader( root + @"/ContentData/WTE.txt");
编辑
你的控制器应该是
public ActionResult Index()
{
var root = AppDomain.CurrentDomain.BaseDirectory;
string line;
System.IO.StreamReader file = new System.IO.StreamReader( root + @"/Content/Site.css");
var fileLines = new List<string>();
while ((line = file.ReadLine()) != null)
{
fileLines.Add(line);
}
// You can use model, temdata or viewbag to carry your data to view.
ViewBag.File = fileLines;
return View();
}
现在你可以在视图中使用这个ViewBag.File
来渲染你的文件数据。
@{
string line;
foreach (var item in ViewBag.File)
{
<p>@item</p>
}
}
添加server mappath到您的路径
System.IO.StreamReader(@Server.MapPath("~/ContentData/WTE.txt"));