Хорошо или плохо писать все на c # вместо использования веб-элементов управления? - PullRequest
3 голосов
/ 10 февраля 2011

Меня смущает выбор между несколькими способами получения результата в ASP.NET.

Например, элемент управления веб-формы SqlDataSource, вы извлекаете данные из базы данных и отображаете результаты в других элементах управления, таких как DataGridView, BulletedList и т. Д. Однако все эти вещи можно записать на C #, создав строку, которая будет содержать ваши HTML-коды с восстановленными данными, а затем вы вставите свой HTML-код в div, используя innerHTML.В чем разница?

Пример:

[ <div id='block1' runnat='server'></div]  

и в CodeBehind

[ block1.innerHTML = myString;]

После написания кода C # SqlConnect, Loops, Datatable вы помещаете значение вашей строки HTMLв myString.

Почему бы не реализовать все с помощью C #?

Ответы [ 3 ]

5 голосов
/ 10 февраля 2011

Подумай о том, что проще всего. В простых случаях использование разметки, шаблонов и привязки данных обычно проще и проще, потому что большая часть написанного - статическая разметка, поэтому мы можем оставаться на «родной земле» разметки. Но если разметка может радикально измениться на основе программной логики, то попытка выразить это в ASP.NET в лучшем случае может быть утомительной.

Также подумайте о развертывании и повторном использовании - шаблоны также проще поддерживать для одного приложения, но сложнее упаковать и повторно использовать в других приложениях.

Вы хотите минимизировать усилия и сложность. Достижение этого потока непосредственно в меньше ошибок и большей стабильности, а также более короткое время доставки. Подумайте, как на усилие и сложность влияют:

  • Насколько тяжело тебе будет писать?
  • Насколько сложно вам (или другим) измениться? - если это одноразовое приложение или маловероятно, что оно сильно изменится, это не будет проблемой.
  • Насколько сложно будет развернуться?
  • Насколько сложно будет повторно использовать? - если нет повторного использования, это не проблема.
3 голосов
/ 10 февраля 2011

Писать все это на чистом C # возможно, но не очень удобно, когда вы пытаетесь создать конкретный HTML-макет - это трудно поддерживать, и очень трудно работать вместе с разработчиком, если вы хотите возьми их html и просто подправь, чтобы добавить данные.

Лично Я бы посмотрел на MVC здесь; например, я недавно играл с бритвой, которая позволяет очень элегантно интегрировать между C # и HTML в одном файле:

<div id="@obj.Id">
  <ul>
    @foreach(var item in obj.Items) {
      <li>@item.Name</li>
    }
  </ul>
</div>

Там я могу:

  • ясно вижу с первого взгляда как код отображается на источник, который я вижу на клиенте
  • вносите изменения с уверенностью, как из визуального осмотра, так и из IDE , сообщая мне , если я делаю что-то явно неправильное
  • легко сравнить с чертежом дизайнера
2 голосов
/ 10 февраля 2011

В основном по причинам технического обслуживания.

Можете ли вы представить себе, насколько сложно может быть что-то изменить или отладить? И поскольку это не традиционный подход, любой программист, который должен работать над этим кодом, конечно же, не будет доволен им.

Всегда помни,

  • HTML для разметки (например, Building)
  • Настройки / стили пользовательского интерфейса переходят на CSS, а темы предназначены для настройки управления сервером (например, Paint)
  • C# (или конкретный код) для логики (например, «Удобства» или «Подключение»).
...