HTML-код для инструмента C # StringBuilder?

#c# #asp.net #html #stringbuilder #response.write

#c# #asp.net #HTML #stringbuilder #ответ.написать

Вопрос:

Раньше я использовал инструмент, в котором вы вводите HTML-код, подобный этому:

         <div id="pnlLoggedIn" style="width:480px;">
            <label for="txtUsername">Username</label>:
            <input name="txtUsername" type="text" id="txtUsername" class="input_small" tabindex="1"> 
            amp;nbsp;amp;nbsp;amp;nbsp;
            <label for="txtPassword">Password</label>:
            <input name="txtPassword" type="password" id="txtPassword" class="input_small" tabindex="2"> 
            amp;nbsp;amp;nbsp;
            <input type="submit" name="cmdLogin" value="Login" id="cmdLogin" class="red-button" tabindex="3" runat="server">
        </div>
  

И он выдает вам это в качестве выходных данных:

 StringBuilder sb = new StringBuilder();
sb.AppendLine("            <div id="pnlLoggedIn" style="width:480px;">");
sb.AppendLine("                <label for="txtUsername">Username</label>:");
sb.AppendLine("                <input name="txtUsername" type="text" id="txtUsername" class="input_small" tabindex="1"> ");
sb.AppendLine("                amp;nbsp;amp;nbsp;amp;nbsp;");
sb.AppendLine("                <label for="txtPassword">Password</label>:");
sb.AppendLine("                <input name="txtPassword" type="password" id="txtPassword" class="input_small" tabindex="2"> ");
sb.AppendLine("                amp;nbsp;amp;nbsp;");
sb.AppendLine("                <input type="submit" name="cmdLogin" value="Login" id="cmdLogin" class="red-button" tabindex="3" runat="server">");
sb.AppendLine("            </div>");
return sb.ToString();
  

Я не могу вспомнить название инструмента, я помню, что это был онлайн-инструмент.

Если кто-то знает инструмент, который делает это, пожалуйста, напишите его здесь.


—ОБНОВИТЬ—

Вот инструмент, который я создал: C # HTML Builder

Комментарии:

1. Если я не ошибаюсь… это кажется чрезвычайно тривиальным инструментом для написания (возможно, ~ 5-10 минут). Почему бы не создать свой собственный?

2. Наличие HTML в строках C # — очень плохая идея, поскольку это может привести к проблемам с обслуживанием. Возможно, попробуйте встроенный as.net объекты для достижения вашей цели. Помните, что вы можете расширить существующий объект, чтобы добавить аспекты, которых вам не хватает. public class MyTextBox : TextBox

3. Почему бы просто не сохранить его в файловой системе и не загрузить в свое приложение? Или использовать встроенный ресурс, если у вас ничего не может быть в файловой системе? Любой способ кажется намного проще, чем поддерживать HTML, встроенный в код.

4. @Justin Я создал свой собственный инструмент, вы можете скачать его здесь: C # HTML Builder

5. @Bazzz: 1 за «драму с обслуживанием». Я краду это.

Ответ №1:

Рискуя выдать отрицательный ответ, это кажется мне плохим решением. Приведенный пример кода для меня выглядит как статический ресурс. Как таковой, ему, вероятно, не место в исходном коде. Скорее, он принадлежит чему-то другому: либо как встроенный ресурс, либо как страница, загружаемая по запросу.

Такого рода код, как правило, является кошмаром для поддержки. Кроме того, в зависимости от того, сколько кода такого рода у вас в системе, это может стать серьезным снижением производительности из-за всех выделений строк и возможного давления на сборщик мусора. (StringBuilder не спасет вас от этого. Контролируйте свое приложение с помощью такого инструмента, как.Отслеживайте производительность СЕТИ и просматривайте тип данных, который вы выделяете чаще всего. Вы можете быть удивлены.)

Смысл этого ответа (я не соизволю называть это ответом) заключается в следующем: мыслите нестандартно. Ваше решение может быть неправильным. Есть ли лучший способ решить эту проблему? Если да, рассмотрите это.

Комментарии:

1. Мне нужно записать мои HTML-данные в соответствии с результатами, которые я получаю от моего SQLReader, каков наилучший способ сделать это? Разве это не ответ. Напишите(sb.toString()); если sb является StringBuilder для HTML-кода, который мне нужен?

2. Даже если это так, HTML, который вы пишете, является статическим, неизменным сгустком HTML. Вы могли бы загрузить его во время выполнения из файла и вставить этот файл в ответ. Преимущество этого заключается в том, что это значительно упрощает изменение файла, если HTML неверен, и упрощает код, который вводит его на вашу страницу. И это только один сценарий.

3. Как я могу загрузить его во время выполнения из файла и вставить некоторые файлы C # посередине?

4. Строка. Формат — твой друг. Вставьте заполнители в файл, в который вы хотите вставить переменные c # («{0}» и так далее). Во время выполнения вызовите Response. Написать (строка. Формат (myFileContents, arg1, arg2, arg3 …)).

Ответ №2:

Я создал приложение, которое мне было нужно 🙂

Надеюсь, кто-нибудь еще сможет найти этому применение:

C # HTML Builder

Ответ №3:

http://www.codeproject.com/KB/vb/File2SB.aspx

Не в Сети, но хорошо. Должен ли выполнять эту работу?

Комментарии:

1. Это то, что мне нужно, но для его использования мне нужно скопировать мой HTML-код в блокнот, затем открыть блокнот с программой, затем скопировать код из программы и вставить его в мой код. Я пытаюсь найти что-то, что работает очень быстро и просто 🙂 если бы у меня было достаточно репутации, я бы проголосовал за ваш ответ