Показать содержимое текстового файла в MVC3 Razor - PullRequest
3 голосов
/ 16 августа 2011

Я пытаюсь отобразить содержимое текстового файла в представлении. До сих пор я смог получить следующий код для контроллера:

public ActionResult ShowFile()     
{         
     string filepath = Server.MapPath("\\some unc path\\TextFile1.txt");
     var stream = new StreamReader(filepath);         
     return File(stream.ReadToEnd(), "text/plain");      
} 

Я не знаю, как идти дальше с видом.

Просьба сообщить.

Ответы [ 2 ]

8 голосов
/ 16 августа 2011

Ну, вместо этого вы могли бы 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);
} 
0 голосов
/ 16 августа 2011

Возврат содержимого (yourText) не является результатом файла. Это для загрузки файлов. Если вы хотите установить его в виде с другими данными, то создайте класс viewmodel и присвойте свой текст свойству в модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...