我正在使用ASP.NET 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();
}
我尝试在文件路径中替换@。什么都没有用。请帮助我 out.Thanks提前
答案 0 :(得分:3)
// 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>
}
}
答案 1 :(得分:1)
将server mappath添加到您的路径中。
System.IO.StreamReader(@Server.MapPath("~/ContentData/WTE.txt"));