我正在尝试在视图中显示文本文件的内容。 到目前为止,我已经能够为控制器获取以下代码:
public ActionResult ShowFile()
{
string filepath = Server.MapPath("\\some unc path\\TextFile1.txt");
var stream = new StreamReader(filepath);
return File(stream.ReadToEnd(), "text/plain");
}
我不知道如何继续这个观点。
请告知。
答案 0 :(得分:8)
好吧,您可以return Content
代替它,它会将您放入响应流的任何内容呈现给响应流,响应类型为text/plain
。
然后你甚至不需要视图。
另外,请不要忘记处理资源和处理异常。您不希望将stream.ReadToEnd()
放入回复电话中。
这样做:
[HttpGet]
public ActionResult ShowFile() {
string filepath = Server.MapPath("\\some unc path\\TextFile1.txt");
string content = string.Empty;
try {
using (var stream = new StreamReader(filepath)) {
content = stream.ReadToEnd();
}
}
catch (Exception exc) {
return Content("Uh oh!");
}
return Content(content);
}
答案 1 :(得分:0)
返回内容(yourText)而不是文件结果。那是文件下载。如果要在包含其他数据的视图中设置它,则创建一个viewmodel类并将文本分配给模型中的属性。