2010-01-30 4 views
1

я хотел создать веб-сервер, в то время как на процесс .....создания динамического HTML C#

я не в состоянии создать динамический HTML, который мог бы взять ссылку из моего C Применение # консольного ...

, например, у меня есть код, который показывает файлы из системы .. например «C: \ хам \ a.jpeg» Теперь я хотел сделать эту конкретную ссылку аа HREF ссылку в моем HTML-странице ...

любая помощь будет оценен ..... спасибо ..

(подвести итог ... я хочу, чтобы создать динамическую HTML-страницу, которая принимает значение из C# консольного приложения.)

+0

Для уточнения: Из ваших предыдущих вопросов, кажется, вы создаете веб-сервер. Теперь вы хотите создать страницу «index» для каталога, то есть HTML-страницу, которая автоматически перечисляет все файлы в этом каталоге с HTML-ссылками на файлы. Это верно? – dtb

+0

@dtb да .. вы обряд. – tike

+0

@james Black .. я пуст в этом контексте, поэтому я хотел получить некоторую идею, если возможно, немного намека на код будет замечательно .... спасибо. – tike

ответ

5

Игнорирование виртуальных путей и т.п. сейчас, вот простого примера, чтобы вы начали:

StringBuilder sb = new StringBuilder(); 
sb.AppendLine("<html>"); 
sb.AppendLine("<head>"); 
sb.AppendLine("<title>Index of c:\\dir</title>"); 
sb.AppendLine("</head>"); 
sb.AppendLine("<body>"); 
sb.AppendLine("<ul>"); 

string[] filePaths = Directory.GetFiles(@"c:\dir"); 
for (int i = 0; i < filePaths.Length; ++i) { 
    string name = Path.GetFileName(filePaths[i]); 

    sb.AppendLine(string.Format("<li><a href=\"{0}\">{1}</a></li>", 
     HttpUtility.HtmlEncode(HttpUtility.UrlEncode(name)), 
     HttpUtility.HtmlEncode(name))); 
} 

sb.AppendLine("</ul>"); 
sb.AppendLine("</body>"); 
sb.AppendLine("</html>"); 
string result = sb.ToString(); 

result содержит строку, которую вы можете отправить как тело ответа HTTP на веб-браузер.

(Примечание: я ввел код прямо в поле ответа, ни одна идея, если она не компилируется как есть.)

+0

спасибо, дайте мне пройти тест на то, что – tike

+0

Перегрузка метода 'Appendline' принимает '3' аргументы – tike

+0

Забыл 'string.Format'. Исправлена. – dtb

Смежные вопросы