Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Oleg98
9 / 9 / 7
Регистрация: 05.12.2013
Сообщений: 42
1

Вставить содержимое текстового документа в HTML страницу

01.03.2015, 18:42. Просмотров 1014. Ответов 5
Метки нет (Все метки)

Объясню суть проблемы. Мне нужно вставить содержимое текстового документа в html страницу. Я не знаю как это сделать. Для тех кто знаком с PHP вопрос могу переформулировать. Мне нужен метод который аналогичен функции include в php.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2015, 18:42
Ответы с готовыми решениями:

Как вставить html страницу в форму?
Как на форме разместить интернет страницу?

Как грузить содержимое текстового файла в переменную?
Я пробовал юзать скрипты отсюда ...

Внести данные из формы в шаблон текстового документа
есть шаблон тестового документа, допустим заявление, в нём есть поля Фамилия,...

Как правильно вставить картинку на мастер страницу
Доброго времени суток! Делаю сайт. Структура папок такова Главная> Account >...

Как вставить фрейм с видео с youtube на страницу
Здравствуйте. У меня возникла такая проблема - мне нужно вставить фрейм в...

5
Cyberatino2
55 / 55 / 22
Регистрация: 24.09.2013
Сообщений: 172
04.03.2015, 03:35 2
Привет.
В методе действия пишешь:
C#
1
2
3
4
5
public ActionResult MyFile()
{
    var lines = System.IO.File.ReadAllLines(@"C:\dogma.txt");
    return View((Object)lines);
}
В представлении MyFile:
C#
1
2
3
4
5
@model String
<h4>Содержимое файла</h4>
<div>
   @Model
</div>
1
Oleg98
9 / 9 / 7
Регистрация: 05.12.2013
Сообщений: 42
06.03.2015, 18:18  [ТС] 3
Спасибо! Не в таком исполнении, но помогло. Но возник вопрос. Как указать путь относительно корневого каталога? По какой то причине использование Url.Content почему то нельзя! Если указать ~ то выдает путь относительно диска C:\, а если просто ввести относительный путь, то каталог располагается по адресу C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
0
Cyberatino2
55 / 55 / 22
Регистрация: 24.09.2013
Сообщений: 172
06.03.2015, 20:54 4
Привет.

Во-первых, поделиться способом, который помог, с нами. Это форум. Во-вторых, возможно, он добавит информации ко второй части вопроса.
3. Url.Content выдает абсолютный путь относительно приложения, а не относительно файловой системы. Это значит, что если есть виртуальные директории (подсайты основного сайта), то можно, указывая "~", не заботиться о добавлении названия виртуальной директории к ресурсу. Например, адрес: http://dogma.do/dev/content/css/default.css. Если /dev - это виртуальная директория, то писать можно просто:
C#
1
@Url.Content("~/content/css/default.css")
а не
C#
1
@Url.Content("/dev/content/css/default.css")
Путь относительно корневого каталога файловой системы, из которого запущен экземпляр приложения, получается вызовом:
C#
1
Server.MapPath("~")
1
Oleg98
9 / 9 / 7
Регистрация: 05.12.2013
Сообщений: 42
06.03.2015, 22:50  [ТС] 5
Окей, я не указал способ который мне помог потому что, он в принципе не имеет значение, так как ваш способ не работает если файл находится в папке с сайтом, почему я сказал что не в таком исполнение, очень просто я не передавал данные из контроллера, а указал метод в самом представлении. А на счет метода Content. Я про него знаю, возможно поверхностно, но знаю что он делает, но при использование его, вылетает исключение дословно: Не удалось найти часть пути "C:\Des\fd.txt".
При этом сама команда такая:
C#
1
@System.IO.File.ReadAllText(Url.Content("~/Des/fd.txt"));
Если я использую метод UrlContent в ссылках или при добавлении изображения и т.д. то все работает нормально

PS На счет метода ReadAllText и ReadAllLines разницы нет, та же ошибка, и даже если вызывать команды в контроллере.

Добавлено через 7 минут
Хотел также отметить что, если получать путь используя Server.MapPath("~") то все работает, если вы можете напишите на сколько это правильно.
Новый код:
C#
1
@System.IO.File.ReadAllText(Server.MapPath("~/Des/fd.txt"));
0
Cyberatino2
55 / 55 / 22
Регистрация: 24.09.2013
Сообщений: 172
07.03.2015, 00:15 6
Цитата Сообщение от Oleg98 Посмотреть сообщение
почему я сказал что не в таком исполнение, очень просто я не передавал данные из контроллера, а указал метод в самом представлении
Понял, значит использовался такой вызов из представления (повторю, чтобы было ясно):
Цитата Сообщение от Oleg98 Посмотреть сообщение
@System.IO.File.ReadAllText(Url.Content("~/Des/fd.txt"));

Ок.

Цитата Сообщение от Oleg98 Посмотреть сообщение
Не удалось найти часть пути "C:\Des\fd.txt".
Думаю, уже стало очевидным, но скажу вслух: не надо было вставлять абсолютный путь файловой системы в метод Url.Content. Он работает только с путями относительно URL-портала. Ничего не знает про файловую систему.

Цитата Сообщение от Oleg98 Посмотреть сообщение
На счет метода ReadAllText и ReadAllLines разницы нет, та же ошибка
Да, разницы нет, потому что ошибка в аргументе, передаваемом в Url.Content.

Цитата Сообщение от Oleg98 Посмотреть сообщение
если получать путь используя Server.MapPath("~") то все работает, если вы можете напишите на сколько это правильно
Для каких-то узких задач это сработает. Чуть больше пользователей и уже не сработает, т.к. жесткий диск будет крутиться на каждый запрос. Ввести кэширование запросов в будущем через атрибут
C#
1
[OutputCache(Duration = 1000)]
0
07.03.2015, 00:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2015, 00:15

Помогите создать HTML страницу.
Я естесно хорош знаю HTML, но .... в итоге: как сделать таблицу вот такого...

Автоматически вставлять html в страницу
Добрый вечер. Хочу что бы из бд вытаскивались данные и вставлялись на страницу...

Встраивание html кода в страницу
Добрый день! Требуется в div на главной странице вписывать вспомогательный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru